diff --git a/Cargo.lock b/Cargo.lock index f108bbfd5bac4..e47471da70535 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -49,9 +49,9 @@ dependencies = [ [[package]] name = "aho-corasick" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6748e8def348ed4d14996fa801f4122cd763fff530258cdc03f64b25f89d3a5a" +checksum = "0c378d78423fdad8089616f827526ee33c19f2fddbd5de1629152c9593ba4783" dependencies = [ "memchr", ] @@ -100,16 +100,15 @@ checksum = "4b46cbb362ab8752921c97e041f5e366ee6297bd428a31275b9fcf1e380f7299" [[package]] name = "anstream" -version = "0.3.2" +version = "0.5.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0ca84f3628370c59db74ee214b3263d58f9aadd9b4fe7e711fd87dc452b7f163" +checksum = "b1f58811cfac344940f1a400b6e6231ce35171f614f26439e80f8c1465c5cc0c" dependencies = [ "anstyle", "anstyle-parse", "anstyle-query", "anstyle-wincon", "colorchoice", - "is-terminal", "utf8parse", ] @@ -139,9 +138,9 @@ dependencies = [ [[package]] name = "anstyle-wincon" -version = "1.0.2" +version = "2.1.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c677ab05e09154296dd37acecd46420c17b9713e8366facafa8fc0885167cf4c" +checksum = "58f54d10c6dfa51283a066ceab3ec1ab78d13fae00aa49243a45e4571fb79dfd" dependencies = [ "anstyle", "windows-sys 0.48.0", @@ -221,7 +220,7 @@ dependencies = [ "proc-macro2", "quote", "serde_json", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -358,7 +357,7 @@ dependencies = [ "arrow-cast", "arrow-ipc", "arrow-schema", - "base64 0.21.2", + "base64 0.21.3", "bytes", "futures", "paste", @@ -463,7 +462,7 @@ dependencies = [ "arrow-select", "num", "regex", - "regex-syntax 0.7.4", + "regex-syntax 0.7.5", ] [[package]] @@ -527,13 +526,13 @@ dependencies = [ [[package]] name = "async-recursion" -version = "1.0.4" +version = "1.0.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0e97ce7de6cf12de5d7226c73f5ba9811622f4db3a5b91b55c53e987e5f91cba" +checksum = "5fd55a5ba1179988837d24ab4c7cc8ed6efdeff578ede0416b4225a5fca35bd0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -555,7 +554,7 @@ checksum = "16e62a023e7c117e27523144c5d2459f4397fcc3cab0085af8e2224f643a0193" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -572,7 +571,7 @@ checksum = "bc00ceb34980c03614e35a3a4e218276a0a824e911d07651cd0d858a51e8c0f0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -590,7 +589,7 @@ dependencies = [ "derive_utils", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -657,7 +656,7 @@ dependencies = [ "fastrand 1.9.0", "http", "hyper", - "time 0.3.25", + "time 0.3.28", "tokio", "tower", "tracing", @@ -854,7 +853,7 @@ dependencies = [ "percent-encoding", "regex", "sha2", - "time 0.3.25", + "time 0.3.28", "tracing", ] @@ -995,7 +994,7 @@ dependencies = [ "itoa", "num-integer", "ryu", - "time 0.3.25", + "time 0.3.28", ] [[package]] @@ -1120,9 +1119,9 @@ checksum = "9e1b586273c5702936fe7b7d6896644d8be71e6314cfe09d3167c95f712589e8" [[package]] name = "base64" -version = "0.21.2" +version = "0.21.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "604178f6c5c21f02dc555784810edfb88d34ac2c73b2eae109655649ee73ce3d" +checksum = "414dcefbc63d77c526a76b3afcf6fbb9b5e2791c19c3aa2297733208750c6e53" [[package]] name = "base64-simd" @@ -1385,9 +1384,9 @@ dependencies = [ [[package]] name = "bytesize" -version = "1.2.0" +version = "1.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "38fcc2979eff34a4b84e1cf9a1e3da42a7d44b3b690a40cdcb23e3d556cfb2e5" +checksum = "a3e368af43e418a04d52505cf3dbc23dda4e3407ae2fa99fd0e4f308ce546acc" dependencies = [ "serde", ] @@ -1474,9 +1473,9 @@ checksum = "baf1de4339761588bc0619e3cbc0120ee582ebb74b53b4efbf79117bd2da40fd" [[package]] name = "chrono" -version = "0.4.26" +version = "0.4.29" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ec837a71355b28f6556dbd569b37b3f363091c0bd4b2e735674521b4c5fd9bc5" +checksum = "d87d9d13be47a5b7c3907137f1290b0459a7f80efb26be8c52afb11963bccb02" dependencies = [ "android-tzdata", "iana-time-zone", @@ -1485,7 +1484,7 @@ dependencies = [ "serde", "time 0.1.45", "wasm-bindgen", - "winapi", + "windows-targets 0.48.1", ] [[package]] @@ -1541,38 +1540,36 @@ dependencies = [ [[package]] name = "clap" -version = "4.3.22" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b417ae4361bca3f5de378294fc7472d3c4ed86a5ef9f49e93ae722f432aae8d2" +checksum = "6a13b88d2c62ff462f88e4a121f17a82c1af05693a2f192b5c38d14de73c19f6" dependencies = [ "clap_builder", "clap_derive", - "once_cell", ] [[package]] name = "clap_builder" -version = "4.3.22" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "9c90dc0f0e42c64bff177ca9d7be6fcc9ddb0f26a6e062174a61c84dd6c644d4" +checksum = "2bb9faaa7c2ef94b2743a21f5a29e6f0010dff4caa69ac8e9d6cf8b6fa74da08" dependencies = [ "anstream", "anstyle", "clap_lex", - "once_cell", "strsim", ] [[package]] name = "clap_derive" -version = "4.3.12" +version = "4.4.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "54a9bb5758fc5dfe728d1019941681eccaf0cf8a4189b692a0ee2f2ecf90a050" +checksum = "0862016ff20d69b84ef8247369fabf5c008a7417002411897d40ee1f4532b873" dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -1598,7 +1595,7 @@ dependencies = [ "serde", "static_assertions", "thiserror", - "time 0.3.25", + "time 0.3.28", "tokio", "url", ] @@ -1860,7 +1857,7 @@ dependencies = [ "proc-macro-error", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2053,7 +2050,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1f34ba9a9bcb8645379e9de8cb3ecfcf4d1c85ba66d90deb3259206fa5aa193b" dependencies = [ "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2080,7 +2077,7 @@ dependencies = [ "proc-macro2", "quote", "scratch", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2097,7 +2094,7 @@ checksum = "59d9ffb4193dd22180b8d5747b1e095c3d9c9c665ce39b0483a488948f437e06" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2169,7 +2166,7 @@ dependencies = [ "proc-macro2", "quote", "strsim", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2202,7 +2199,7 @@ checksum = "836a9bbc7ad63342d6d6e7b815ccab164bc77a2d95d84bc3117a8c0d5c98e2d5" dependencies = [ "darling_core 0.20.3", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2222,9 +2219,9 @@ source = "git+https://github.com/risingwavelabs/darwin-libproc.git?rev=a502be24b [[package]] name = "dashmap" -version = "5.5.1" +version = "5.5.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "edd72493923899c6f10c641bdbdeddc7183d6396641d99c1a0d1597f37f92e28" +checksum = "978747c1d849a7d2ee5e8adc0159961c48fb7e5db2f06af6723b80123bb53856" dependencies = [ "cfg-if", "hashbrown 0.14.0", @@ -2261,9 +2258,9 @@ dependencies = [ [[package]] name = "deranged" -version = "0.3.7" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "7684a49fb1af197853ef7b2ee694bc1f5b4179556f1e5710e1760c5db6f5e929" +checksum = "f2696e8a945f658fd14dc3b87242e6b80cd0f36ff04ea560fa39082368847946" dependencies = [ "serde", ] @@ -2307,7 +2304,7 @@ checksum = "9abcad25e9720609ccb3dcdb795d845e37d8ce34183330a9f48b03a1a71c8e21" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2396,7 +2393,7 @@ dependencies = [ "rust_decimal", "serde", "thiserror", - "time 0.3.25", + "time 0.3.28", ] [[package]] @@ -2453,7 +2450,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2473,7 +2470,7 @@ checksum = "eecf8589574ce9b895052fa12d69af7a233f99e6107f5cb8dd1044f2a17bfdcb" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2486,7 +2483,7 @@ dependencies = [ "num-traits", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -2542,9 +2539,9 @@ dependencies = [ [[package]] name = "ethnum" -version = "1.3.2" +version = "1.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "0198b9d0078e0f30dedc7acbb21c974e838fc8fae3ee170128658a98cb2c1c04" +checksum = "6c8ff382b2fa527fb7fb06eeebfc5bbb3f17e3cc6b9d70b006c41daa8824adac" dependencies = [ "serde", ] @@ -2651,9 +2648,9 @@ dependencies = [ [[package]] name = "flate2" -version = "1.0.26" +version = "1.0.27" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "3b9429470923de8e8cbd4d2dc513535400b4b3fef0319fb5c4e1f520a7bef743" +checksum = "c6c98ee8095e9d1dcbf2fcc6d95acccb90d1c81db1e44725c6a984b1dbdfb010" dependencies = [ "crc32fast", "miniz_oxide", @@ -2818,7 +2815,7 @@ dependencies = [ "proc-macro2", "quote", "rand", - "syn 2.0.29", + "syn 2.0.31", "tokio", "tracing-core", ] @@ -2959,7 +2956,7 @@ checksum = "89ca545a94061b6365f2c7355b4b32bd20df3ff95f02da9329b34ccc3bd6ee72" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -3061,7 +3058,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "644f40175857d0b8d7b6cad6cd9594284da5041387fa2ddff30ab6d8faef65eb" dependencies = [ "async-trait", - "base64 0.21.2", + "base64 0.21.3", "google-cloud-metadata", "google-cloud-token", "home", @@ -3070,7 +3067,7 @@ dependencies = [ "serde", "serde_json", "thiserror", - "time 0.3.25", + "time 0.3.28", "tokio", "tracing", "urlencoding", @@ -3685,7 +3682,7 @@ version = "8.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "6971da4d9c3aa03c3d8f3ff0f4155b534aad021292003895a469716b2a230378" dependencies = [ - "base64 0.21.2", + "base64 0.21.3", "pem", "ring", "serde", @@ -4150,9 +4147,9 @@ checksum = "490cc448043f947bae3cbee9c203358d62dbee0db12107a74be5c30ccfd09771" [[package]] name = "memchr" -version = "2.5.0" +version = "2.6.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "2dffe52ecf27772e601905b7522cb4ef790d2cc203488bbd0e2fe85fcb74566d" +checksum = "8f232d6ef707e1956a43342693d2a31e72989554d58299d7a88738cc95b0d35c" [[package]] name = "memcomparable" @@ -4444,9 +4441,9 @@ dependencies = [ [[package]] name = "num-bigint" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "f93ab6289c7b344a8a9f60f88d80aa20032336fe78da341afc91c8a2341fc75f" +checksum = "608e7659b5c3d7cba262d894801b9ec9d00de989e8a82bd4bef91d08da45cdc0" dependencies = [ "autocfg", "num-integer", @@ -4629,7 +4626,7 @@ dependencies = [ "async-compat", "async-trait", "backon", - "base64 0.21.2", + "base64 0.21.3", "bytes", "chrono", "flagset", @@ -4681,11 +4678,11 @@ dependencies = [ [[package]] name = "openssl" -version = "0.10.56" +version = "0.10.57" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "729b745ad4a5575dd06a3e1af1414bd330ee561c01b3899eb584baeaa8def17e" +checksum = "bac25ee399abb46215765b1cb35bc0212377e58a061560d8b29b024fd0430e7c" dependencies = [ - "bitflags 1.3.2", + "bitflags 2.4.0", "cfg-if", "foreign-types", "libc", @@ -4702,7 +4699,7 @@ checksum = "a948666b637a0f465e8564c73e89d4dde00d72d4d473cc972f390fc3dcee7d9c" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -4713,18 +4710,18 @@ checksum = "ff011a302c396a5197692431fc1948019154afc178baf7d8e37367442a4601cf" [[package]] name = "openssl-src" -version = "111.27.0+1.1.1v" +version = "300.1.3+3.1.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "06e8f197c82d7511c5b014030c9b1efeda40d7d5f99d23b4ceed3524a5e63f02" +checksum = "cd2c101a165fff9935e34def4669595ab1c7847943c42be86e21503e482be107" dependencies = [ "cc", ] [[package]] name = "openssl-sys" -version = "0.9.91" +version = "0.9.93" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "866b5f16f90776b9bb8dc1e1802ac6f0513de3a7a7465867bfbc563dc737faac" +checksum = "db4d56a4c0478783083cfafcc42493dd4a981d41669da64b4572a2a089b51b1d" dependencies = [ "cc", "libc", @@ -4955,7 +4952,7 @@ dependencies = [ "arrow-ipc", "arrow-schema", "arrow-select", - "base64 0.21.2", + "base64 0.21.3", "brotli", "bytes", "chrono", @@ -4995,9 +4992,9 @@ dependencies = [ "proc-macro2", "quote", "regex", - "regex-syntax 0.7.4", + "regex-syntax 0.7.5", "structmeta", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -5177,14 +5174,14 @@ checksum = "4359fd9c9171ec6e8c62926d6faaf553a8dc3f64e1507e76da7911b4f6a04405" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] name = "pin-project-lite" -version = "0.2.12" +version = "0.2.13" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "12cc1b0bf1727a77a54b6654e7b5f1af8604923edc8b81885f8ec92f9e3f0a05" +checksum = "8afb450f006bf6385ca15ef45d71d2288452bc3683ce2e2cacc0d18e4be60b58" [[package]] name = "pin-utils" @@ -5292,7 +5289,7 @@ dependencies = [ "heck 0.4.1", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -5301,7 +5298,7 @@ version = "0.6.5" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78b7fa9f396f51dffd61546fd8573ee20592287996568e6175ceb0f8699ad75d" dependencies = [ - "base64 0.21.2", + "base64 0.21.3", "byteorder", "bytes", "fallible-iterator", @@ -5531,7 +5528,7 @@ dependencies = [ "reqwest", "serde", "serde_json", - "time 0.3.25", + "time 0.3.28", "url", ] @@ -5586,15 +5583,15 @@ version = "0.1.0" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", "workspace-hack", ] [[package]] name = "prost-reflect" -version = "0.11.4" +version = "0.11.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "000e1e05ebf7b26e1eba298e66fe4eee6eb19c567d0ffb35e0dd34231cdac4c8" +checksum = "6b823de344848e011658ac981009100818b322421676740546f8b52ed5249428" dependencies = [ "once_cell", "prost", @@ -5854,9 +5851,9 @@ dependencies = [ [[package]] name = "redis" -version = "0.23.2" +version = "0.23.3" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "ffd6543a7bc6428396845f6854ccf3d1ae8823816592e2cbe74f20f50f209d02" +checksum = "4f49cdc0bb3f412bf8e7d1bd90fe1d9eb10bc5c399ba90973c14662a27b3f8ba" dependencies = [ "combine", "itoa", @@ -5887,14 +5884,14 @@ dependencies = [ [[package]] name = "regex" -version = "1.9.3" +version = "1.9.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "81bc1d4caf89fac26a70747fe603c130093b53c773888797a6329091246d651a" +checksum = "12de2eff854e5fa4b1295edd650e227e9d8fb0c9e90b12e7f36d6a6811791a29" dependencies = [ "aho-corasick", "memchr", - "regex-automata 0.3.6", - "regex-syntax 0.7.4", + "regex-automata 0.3.8", + "regex-syntax 0.7.5", ] [[package]] @@ -5908,13 +5905,13 @@ dependencies = [ [[package]] name = "regex-automata" -version = "0.3.6" +version = "0.3.8" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "fed1ceff11a1dddaee50c9dc8e4938bd106e9d89ae372f192311e7da498e3b69" +checksum = "c2f401f4955220693b56f8ec66ee9c78abffd8d1c4f23dc41a23839eb88f0795" dependencies = [ "aho-corasick", "memchr", - "regex-syntax 0.7.4", + "regex-syntax 0.7.5", ] [[package]] @@ -5925,9 +5922,9 @@ checksum = "f162c6dd7b008981e4d40210aca20b4bd0f9b60ca9271061b07f78537722f2e1" [[package]] name = "regex-syntax" -version = "0.7.4" +version = "0.7.5" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "e5ea92a5b6195c6ef2a0295ea818b312502c6fc94dde986c5553242e18fd4ce2" +checksum = "dbb5fb1acd8a1a18b3dd5be62d25485eb770e05afb408a9627d14d451bae12da" [[package]] name = "rend" @@ -5946,7 +5943,7 @@ checksum = "3228e570df74d69d3d3236a71371f1edd748a3e4eb728ea1f29d403bc10fc727" dependencies = [ "anyhow", "async-trait", - "base64 0.21.2", + "base64 0.21.3", "chrono", "form_urlencoded", "hex", @@ -5971,11 +5968,11 @@ dependencies = [ [[package]] name = "reqwest" -version = "0.11.18" +version = "0.11.20" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "cde824a14b7c14f85caff81225f411faacc04a2013f41670f41443742b1c1c55" +checksum = "3e9ad3fe7488d7e34558a2033d45a0c90b72d97b4f80705666fea71472e2e6a1" dependencies = [ - "base64 0.21.2", + "base64 0.21.3", "bytes", "encoding_rs", "futures-core", @@ -6010,7 +6007,7 @@ dependencies = [ "wasm-bindgen-futures", "wasm-streams", "web-sys", - "webpki-roots 0.22.6", + "webpki-roots 0.25.2", "winreg", ] @@ -6464,7 +6461,7 @@ dependencies = [ "aws-sdk-s3", "aws-smithy-http", "aws-types", - "base64 0.21.2", + "base64 0.21.3", "bincode 1.3.3", "byteorder", "bytes", @@ -6619,7 +6616,7 @@ dependencies = [ "itertools 0.11.0", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -6971,7 +6968,7 @@ dependencies = [ "prometheus", "risingwave_common", "risingwave_variables", - "time 0.3.25", + "time 0.3.28", "tracing", "tracing-opentelemetry", "tracing-subscriber", @@ -7458,7 +7455,7 @@ version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "2d3987094b1d07b653b7dfdc3f70ce9a1da9c51ac18c1b06b662e4f9a0e9f4b2" dependencies = [ - "base64 0.21.2", + "base64 0.21.3", ] [[package]] @@ -7637,9 +7634,9 @@ checksum = "a3f0bf26fd526d2a95683cd0f87bf103b8539e2ca1ef48ce002d67aad59aa0b4" [[package]] name = "serde" -version = "1.0.185" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "be9b6f69f1dfd54c3b568ffa45c310d6973a5e5148fd40cf515acaf38cf5bc31" +checksum = "cf9e0fcba69a370eed61bcf2b728575f726b50b55cba78064753d708ddc7549e" dependencies = [ "serde_derive", ] @@ -7677,13 +7674,13 @@ dependencies = [ [[package]] name = "serde_derive" -version = "1.0.185" +version = "1.0.188" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "dc59dfdcbad1437773485e0367fea4b090a2e0a16d9ffc46af47764536a298ec" +checksum = "4eca7ac642d82aa35b60049a6eccb4be6be75e599bd2e9adb5f875a737654af2" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -7771,7 +7768,7 @@ dependencies = [ "serde", "serde_json", "serde_with_macros 2.3.3", - "time 0.3.25", + "time 0.3.28", ] [[package]] @@ -7780,7 +7777,7 @@ version = "3.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "1ca3b16a3d82c4088f343b7480a93550b3eabe1a358569c2dfe38bbcead07237" dependencies = [ - "base64 0.21.2", + "base64 0.21.3", "chrono", "hex", "indexmap 1.9.3", @@ -7788,7 +7785,7 @@ dependencies = [ "serde", "serde_json", "serde_with_macros 3.3.0", - "time 0.3.25", + "time 0.3.28", ] [[package]] @@ -7812,7 +7809,7 @@ dependencies = [ "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -7824,7 +7821,7 @@ dependencies = [ "darling 0.20.3", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -7862,7 +7859,7 @@ checksum = "91d129178576168c589c9ec973feedf7d3126c01ac2bf08795109aa35b69fb8f" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -7993,7 +7990,7 @@ dependencies = [ "num-bigint", "num-traits", "thiserror", - "time 0.3.25", + "time 0.3.28", ] [[package]] @@ -8193,7 +8190,7 @@ dependencies = [ "proc-macro2", "quote", "structmeta-derive", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -8204,7 +8201,7 @@ checksum = "a60bcaff7397072dca0017d1db428e30d5002e00b6847703e2e42005c95fbe00" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -8245,7 +8242,7 @@ dependencies = [ "proc-macro2", "quote", "rustversion", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -8290,9 +8287,9 @@ dependencies = [ [[package]] name = "syn" -version = "2.0.29" +version = "2.0.31" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "c324c494eba9d92503e6f1ef2e6df781e78f6a7705a0202d9801b198807d518a" +checksum = "718fa2415bcb8d8bd775917a1bf12a7931b6dfa890753378538118181e0cb398" dependencies = [ "proc-macro2", "quote", @@ -8317,9 +8314,9 @@ checksum = "2047c6ded9c721764247e62cd3b03c09ffc529b2ba5b10ec482ae507a4a70160" [[package]] name = "sysinfo" -version = "0.29.8" +version = "0.29.10" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "d10ed79c22663a35a255d289a7fdcb43559fc77ff15df5ce6c341809e7867528" +checksum = "0a18d114d420ada3a891e6bc8e96a2023402203296a47cdd65083377dad18ba5" dependencies = [ "cfg-if", "core-foundation-sys", @@ -8394,7 +8391,7 @@ checksum = "090198534930841fab3a5d1bb637cde49e339654e606195f8d9c76eeb081dc96" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -8479,9 +8476,9 @@ dependencies = [ [[package]] name = "time" -version = "0.3.25" +version = "0.3.28" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b0fdd63d58b18d663fbdf70e049f00a22c8e42be082203be7f26589213cd75ea" +checksum = "17f6bb557fd245c28e6411aa56b6403c689ad95061f50e4be16c274e70a17e48" dependencies = [ "deranged", "itoa", @@ -8500,9 +8497,9 @@ checksum = "7300fbefb4dadc1af235a9cef3737cea692a9d97e1b9cbcd4ebdae6f8868e6fb" [[package]] name = "time-macros" -version = "0.2.11" +version = "0.2.14" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "eb71511c991639bb078fd5bf97757e03914361c48100d52878b8e52b46fb92cd" +checksum = "1a942f44339478ef67935ab2bbaec2fb0322496cf3cbe84b261e06ac3814c572" dependencies = [ "time-core", ] @@ -8579,7 +8576,7 @@ checksum = "630bdcf245f78637c13ec01ffae6187cca34625e8c63150d424b59e55af2675e" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -8746,7 +8743,7 @@ dependencies = [ "async-stream", "async-trait", "axum", - "base64 0.21.2", + "base64 0.21.3", "bytes", "flate2", "futures-core", @@ -8805,9 +8802,9 @@ dependencies = [ [[package]] name = "tower-http" -version = "0.4.3" +version = "0.4.4" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "55ae70283aba8d2a8b411c695c437fe25b8b5e44e23e780662002fc72fb47a82" +checksum = "61c5bb1d698276a2443e5ecfabc1008bf15a36c12e6a7176e7bf089ea9131140" dependencies = [ "bitflags 2.4.0", "bytes", @@ -8861,7 +8858,7 @@ checksum = "5f4f31f56159e98206da9efd823404b79b6ef3143b4a7ab76e67b1751b25a4ab" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] @@ -8937,7 +8934,7 @@ dependencies = [ "sharded-slab", "smallvec", "thread_local", - "time 0.3.25", + "time 0.3.28", "tracing", "tracing-core", "tracing-log", @@ -9078,9 +9075,9 @@ checksum = "a156c684c91ea7d62626509bce3cb4e1d9ed5c4d978f7b4352658f96a4c26b4a" [[package]] name = "url" -version = "2.4.0" +version = "2.4.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "50bff7831e19200a85b17131d085c25d7811bc4e186efdaf54bbd132994a88cb" +checksum = "143b538f18257fac9cad154828a57c6bf5157e1aa604d4816b5995bf6de87ae5" dependencies = [ "form_urlencoded", "idna", @@ -9143,7 +9140,7 @@ checksum = "bbc5ad0d9d26b2c49a5ab7da76c3e79d3ee37e7821799f8223fcb8f2f391a2e7" dependencies = [ "anyhow", "rustversion", - "time 0.3.25", + "time 0.3.28", ] [[package]] @@ -9181,9 +9178,9 @@ checksum = "9d5b2c62b4012a3e1eca5a7e077d13b3bf498c4073e33ccd58626607748ceeca" [[package]] name = "walkdir" -version = "2.3.3" +version = "2.4.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "36df944cda56c7d8d8b7496af378e6b16de9284591917d307c9b4d313c44e698" +checksum = "d71d857dc86794ca4c280d616f7da00d2dbfd8cd788846559a6813e6aa4b54ee" dependencies = [ "same-file", "winapi-util", @@ -9231,7 +9228,7 @@ dependencies = [ "once_cell", "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", "wasm-bindgen-shared", ] @@ -9265,7 +9262,7 @@ checksum = "54681b18a46765f095758388f2d0cf16eb8d4169b639ab575a8f5693af210c7b" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", "wasm-bindgen-backend", "wasm-bindgen-shared", ] @@ -9278,9 +9275,9 @@ checksum = "ca6ad05a4870b2bf5fe995117d3728437bd27d7cd5f06f13c17443ef369775a1" [[package]] name = "wasm-streams" -version = "0.2.3" +version = "0.3.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "6bbae3363c08332cadccd13b67db371814cd214c2524020932f0804b8cf7c078" +checksum = "b4609d447824375f43e1ffbc051b50ad8f4b3ae8219680c94452ea05eb240ac7" dependencies = [ "futures-util", "js-sys", @@ -9311,21 +9308,18 @@ dependencies = [ [[package]] name = "webpki-roots" -version = "0.22.6" +version = "0.23.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b6c71e40d7d2c34a5106301fb632274ca37242cd0c9d3e64dbece371a40a2d87" +checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" dependencies = [ - "webpki", + "rustls-webpki 0.100.2", ] [[package]] name = "webpki-roots" -version = "0.23.1" +version = "0.25.2" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "b03058f88386e5ff5310d9111d53f48b17d732b401aeb83a8d5190f2ac459338" -dependencies = [ - "rustls-webpki 0.100.2", -] +checksum = "14247bb57be4f377dfb94c72830b8ce8fc6beac03cf4bf7b9732eadd414123fc" [[package]] name = "which" @@ -9521,11 +9515,12 @@ dependencies = [ [[package]] name = "winreg" -version = "0.10.1" +version = "0.50.0" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "80d0f4e272c85def139476380b12f9ac60926689dd2e01d4923222f40580869d" +checksum = "524e57b2c537c0f9b1e69f1965311ec12182b4122e45035b1508cd24d2adadb1" dependencies = [ - "winapi", + "cfg-if", + "windows-sys 0.48.0", ] [[package]] @@ -9605,8 +9600,8 @@ dependencies = [ "rand_chacha", "rand_core", "regex", - "regex-automata 0.3.6", - "regex-syntax 0.7.4", + "regex-automata 0.3.8", + "regex-syntax 0.7.5", "reqwest", "ring", "rust_decimal", @@ -9617,8 +9612,8 @@ dependencies = [ "smallvec", "subtle", "syn 1.0.109", - "syn 2.0.29", - "time 0.3.25", + "syn 2.0.31", + "time 0.3.28", "tinyvec", "tokio", "tokio-postgres", @@ -9708,7 +9703,7 @@ checksum = "8f7f3a471f98d0a61c34322fbbfd10c384b07687f680d4119813713f72308d91" dependencies = [ "proc-macro2", "quote", - "syn 2.0.29", + "syn 2.0.31", ] [[package]] diff --git a/integration_tests/account-change-feature-demo/Dockerfile b/integration_tests/account-change-feature-demo/Dockerfile new file mode 100644 index 0000000000000..1ba804cb2262c --- /dev/null +++ b/integration_tests/account-change-feature-demo/Dockerfile @@ -0,0 +1,54 @@ +FROM rust:1.67 as feature-store-server + +USER root + +ENV WORK_DIR /opt/feature-store +RUN mkdir -p $WORK_DIR + +WORKDIR $WORK_DIR + +RUN apt update +RUN apt install -y python3 python3-pip wget ca-certificates +RUN apt install -y postgresql-client + +ADD ../nyc-taxi-feature-store-demo/server/model/requirements.txt $WORK_DIR/model-pipreqs.txt +ADD ../nyc-taxi-feature-store-demo/generator/requirements.txt $WORK_DIR/generator-pipreqs.txt +RUN pip3 install --upgrade pip +RUN pip3 install -r $WORK_DIR/model-pipreqs.txt +RUN pip3 install -r $WORK_DIR/generator-pipreqs.txt +RUN pip3 install risingwave + +RUN apt install -y lsof curl openssl libssl-dev pkg-config build-essential +RUN apt install -y cmake librdkafka-dev + +# Install .NET 6.0 +RUN wget https://packages.microsoft.com/config/debian/11/packages-microsoft-prod.deb -O packages-microsoft-prod.deb +RUN dpkg -i packages-microsoft-prod.deb +RUN rm packages-microsoft-prod.deb +RUN apt-get update && apt-get install -y dotnet-sdk-6.0 +RUN apt install -y liblttng-ust0 + +# `cargo build` included in ./build +ADD ../nyc-taxi-feature-store-demo/server $WORK_DIR/build/server +ADD ../nyc-taxi-feature-store-demo/simulator $WORK_DIR/build/simulator +RUN cargo build --manifest-path $WORK_DIR/build/server/Cargo.toml --release +RUN cargo build --manifest-path $WORK_DIR/build/simulator/Cargo.toml --release + +RUN cp $WORK_DIR/build/server/target/release/server $WORK_DIR/feature-store-server +RUN cp $WORK_DIR/build/simulator/target/release/simulator $WORK_DIR/feature-store-simulator +RUN rm -rf $WORK_DIR/build + +ADD ../nyc-taxi-feature-store-demo/server/model $WORK_DIR/server/model +ADD ../nyc-taxi-feature-store-demo/server/udf.py $WORK_DIR/udf.py +ADD ../nyc-taxi-feature-store-demo/generator $WORK_DIR/generator +ADD ../nyc-taxi-feature-store-demo/taxi-start.sql $WORK_DIR/taxi-start.sql +ADD ../nyc-taxi-feature-store-demo/mfa-start.sql $WORK_DIR/mfa-start.sql +RUN mkdir $WORK_DIR/run-sh +ADD ../nyc-taxi-feature-store-demo/run.sh $WORK_DIR/run-sh/ +ADD ../nyc-taxi-feature-store-demo/run-mfa.sh $WORK_DIR/run-sh/ + +RUN cp $WORK_DIR/run-sh/run-mfa.sh $WORK_DIR/run.sh;\ + +RUN chmod +x $WORK_DIR/run.sh && rm -rf $WORK_DIR/run-sh + +CMD ["sh", "-c", "sleep 10 && ./run.sh"] \ No newline at end of file diff --git a/integration_tests/account-change-feature-demo/README.md b/integration_tests/account-change-feature-demo/README.md new file mode 100644 index 0000000000000..9e7a84615b703 --- /dev/null +++ b/integration_tests/account-change-feature-demo/README.md @@ -0,0 +1,31 @@ +# Description + +#### Feature store demo. + +We use `simulators` to simulate data input. + +Then all messages will be sent to the `server` and written in `Kafka` -> `RisingWave`. `RisingWave` will process the data based on pre-defined operations. + +We also utilize the `simulator` to simulate user queries to our `feature`. The `server` will receive requests -> query data -> and return results. + +If we intend to modify our business logic, we simply need to update the materialized view within our `RisingWave` by using SQL statements. + +#### Specific case: + +This chapter is a simple demo of feature extraction in `RisingWave`, primarily showcasing the real-time feature aggregation and updating capabilities of `RisingWave`. + +In this case, we need to calculate the frequency and count of user account changes over a period of time. We mainly use SQL aggregation functions and UDFs (User-Defined Functions) to achieve this. + +Due to the similarity between the code in this demo and another code, the implementation code is located in the `nyc-taxi-feature-store-demo` folder. + +## Installation + +Run it in local. + +1. Build docker. Kafka RisingWave and Feature Store. + +```docker compose up --build``` + +2. Then we can get the simulation results for Feature store in `.log`. + +```cat .log/simulator_log``` \ No newline at end of file diff --git a/integration_tests/account-change-feature-demo/docker-compose.yml b/integration_tests/account-change-feature-demo/docker-compose.yml new file mode 100644 index 0000000000000..bdd7c6acab353 --- /dev/null +++ b/integration_tests/account-change-feature-demo/docker-compose.yml @@ -0,0 +1,119 @@ +--- +version: "3" +services: + kafka: + image: confluentinc/cp-kafka:7.1.0 + platform: linux/amd64 + hostname: kafka + container_name: kafka + ports: + - "29092:29092" + - "9092:9092" + environment: + KAFKA_BROKER_ID: 1 + KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181 + KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: PLAINTEXT:PLAINTEXT,PLAINTEXT_HOST:PLAINTEXT + KAFKA_ADVERTISED_LISTENERS: PLAINTEXT://kafka:9092,PLAINTEXT_HOST://localhost:29092 + KAFKA_OFFSETS_TOPIC_REPLICATION_FACTOR: 1 + KAFKA_GROUP_INITIAL_REBALANCE_DELAY_MS: 0 + KAFKA_TOOLS_LOG4J_LOGLEVEL: ERROR + depends_on: + [ zookeeper ] + healthcheck: + test: [ "CMD-SHELL", "kafka-topics --bootstrap-server kafka:9092 --list" ] + interval: 5s + timeout: 10s + retries: 5 + + init-kafka: + image: confluentinc/cp-kafka:7.1.0 + depends_on: + - kafka + entrypoint: [ '/bin/sh', '-c' ] + command: | + " + # blocks until kafka is reachable + kafka-topics --bootstrap-server kafka:9092 --list + echo -e 'Creating kafka topics' + kafka-topics --bootstrap-server kafka:9092 --create --if-not-exists --topic taxi --replication-factor 1 --partitions 1 + echo -e 'Creating kafka topics' + kafka-topics --bootstrap-server kafka:9092 --create --if-not-exists --topic mfa --replication-factor 1 --partitions 1 + + echo -e 'Successfully created the following topics:' + kafka-topics --bootstrap-server kafka:9092 --list + " + + zookeeper: + image: confluentinc/cp-zookeeper:7.1.0 + platform: linux/amd64 + hostname: zookeeper + container_name: zookeeper + ports: + - "2181:2181" + environment: + ZOOKEEPER_CLIENT_PORT: 2181 + ZOOKEEPER_TICK_TIME: 2000 + compactor-0: + extends: + file: ../../docker/docker-compose.yml + service: compactor-0 + compute-node-0: + extends: + file: ../../docker/docker-compose.yml + service: compute-node-0 + volumes: + - "./server/udf.py:/udf.py" + - "./mfa-start.sql:/mfa-start.sql" + - "./mfa-mock.sql:/mfa-mock.sql" + feature-store: + image: rust:1.67 + build: + context: . + target: feature-store-server + depends_on: + [kafka,meta-node-0,frontend-node-0] + volumes: + - "./log:/opt/feature-store/.log" + etcd-0: + extends: + file: ../../docker/docker-compose.yml + service: etcd-0 + frontend-node-0: + extends: + file: ../../docker/docker-compose.yml + service: frontend-node-0 + grafana-0: + extends: + file: ../../docker/docker-compose.yml + service: grafana-0 + meta-node-0: + extends: + file: ../../docker/docker-compose.yml + service: meta-node-0 + ports: + - "8815:8815" + depends_on: + [kafka] + minio-0: + extends: + file: ../../docker/docker-compose.yml + service: minio-0 + prometheus-0: + extends: + file: ../../docker/docker-compose.yml + service: prometheus-0 + connector-node: + extends: + file: ../../docker/docker-compose.yml + service: connector-node +volumes: + etcd-0: + external: false + grafana-0: + external: false + minio-0: + external: false + prometheus-0: + external: false +name: risingwave-compose + diff --git a/integration_tests/mfa-change-demo/README.md b/integration_tests/mfa-change-demo/README.md deleted file mode 100644 index fdf057f7432e4..0000000000000 --- a/integration_tests/mfa-change-demo/README.md +++ /dev/null @@ -1,30 +0,0 @@ -# Description - -Feature store demo. - -We use 'simulators' to simulate data input. - -Then all messages will be sent to the 'server' and written in Kafka -> RisingWave. RisingWave will process the data based on pre-defined operations. - -We also utilize the 'simulator' to simulate user queries to our 'feature'. The 'server' will receive requests -> query data -> and return results. - -If we intend to modify our business logic, we simply need to update the materialized view within our RisingWave by using SQL statements. - -## Installation - -Run it in local. - -1. Build docker. Kafka RisingWave and Feature Store. - -```docker compose up --build``` - -2. Then we can get the simulation results for Feature store in `.log`. - -```cat .log/simulator_log``` - -3. We also can run MFA demo - -```docker compose build --build-arg BUILD_ARG=mfa``` -```docker compose up``` - -* Build Dependencies: librdkafka, pkg-config , openssl \ No newline at end of file diff --git a/integration_tests/mfa-change-demo/Dockerfile b/integration_tests/nyc-taxi-feature-store-demo/Dockerfile similarity index 100% rename from integration_tests/mfa-change-demo/Dockerfile rename to integration_tests/nyc-taxi-feature-store-demo/Dockerfile diff --git a/integration_tests/nyc-taxi-feature-store-demo/README.md b/integration_tests/nyc-taxi-feature-store-demo/README.md new file mode 100644 index 0000000000000..70688706da410 --- /dev/null +++ b/integration_tests/nyc-taxi-feature-store-demo/README.md @@ -0,0 +1,42 @@ +# Description + +#### Feature store demo. + +We use `simulators` to simulate data input. + +Then all messages will be sent to the `server` and written in `Kafka` -> `RisingWave`. `RisingWave` will process the data based on pre-defined operations. + +We also utilize the `simulator` to simulate user queries to our `feature`. The `server` will receive requests -> query data -> and return results. + +If we intend to modify our business logic, we simply need to update the materialized view within our `RisingWave` by using SQL statements. + +#### Specific case: + +The case in this chapter is a New York taxi fare prediction. We need to predict the taxi fare based on the starting and ending points of the trip. + +We use the starting and ending points as primary keys, extract and transform corresponding features, and save them in `RisingWave`. These features are updated based on user behavior. + +When a user needs to make a prediction using these features, they can retrieve all the features for training. + +When a user needs to make a prediction using these features, they can provide their starting and ending points, query the corresponding features in `RisingWave`, and inject them into a machine learning model for real-time fare prediction. + +## Installation + +1. Build docker. Kafka RisingWave and Feature Store. + +```docker compose up --build``` + + +The Feature Store system performs several tasks in sequence: + +- Writes simulated offline data into `Kafka`→`RisingWave`, extracting behavior and feature tables. + +- Joins the behavior and feature tables to obtain corresponding offline training data and conducts model training. + +- Writes simulated online feature data into `Kafka`→`RisingWave`. + +- Uses `do_location_id` (destination location) and `pu_location_id` (pickup location) to query the latest online features in RisingWave and utilizes these online features along with the trained model for predictions. + +2. Then we can get the simulation results for Feature store in `.log`. + +```cat .log/simulator_log``` \ No newline at end of file diff --git a/integration_tests/mfa-change-demo/docker-compose.yml b/integration_tests/nyc-taxi-feature-store-demo/docker-compose.yml similarity index 100% rename from integration_tests/mfa-change-demo/docker-compose.yml rename to integration_tests/nyc-taxi-feature-store-demo/docker-compose.yml diff --git a/integration_tests/mfa-change-demo/generator/__init__.py b/integration_tests/nyc-taxi-feature-store-demo/generator/__init__.py similarity index 100% rename from integration_tests/mfa-change-demo/generator/__init__.py rename to integration_tests/nyc-taxi-feature-store-demo/generator/__init__.py diff --git a/integration_tests/mfa-change-demo/generator/__main__.py b/integration_tests/nyc-taxi-feature-store-demo/generator/__main__.py similarity index 100% rename from integration_tests/mfa-change-demo/generator/__main__.py rename to integration_tests/nyc-taxi-feature-store-demo/generator/__main__.py diff --git a/integration_tests/mfa-change-demo/generator/preference.py b/integration_tests/nyc-taxi-feature-store-demo/generator/preference.py similarity index 100% rename from integration_tests/mfa-change-demo/generator/preference.py rename to integration_tests/nyc-taxi-feature-store-demo/generator/preference.py diff --git a/integration_tests/mfa-change-demo/generator/requirements.txt b/integration_tests/nyc-taxi-feature-store-demo/generator/requirements.txt similarity index 100% rename from integration_tests/mfa-change-demo/generator/requirements.txt rename to integration_tests/nyc-taxi-feature-store-demo/generator/requirements.txt diff --git a/integration_tests/mfa-change-demo/generator/user.py b/integration_tests/nyc-taxi-feature-store-demo/generator/user.py similarity index 100% rename from integration_tests/mfa-change-demo/generator/user.py rename to integration_tests/nyc-taxi-feature-store-demo/generator/user.py diff --git a/integration_tests/mfa-change-demo/mfa-mock.sql b/integration_tests/nyc-taxi-feature-store-demo/mfa-mock.sql similarity index 100% rename from integration_tests/mfa-change-demo/mfa-mock.sql rename to integration_tests/nyc-taxi-feature-store-demo/mfa-mock.sql diff --git a/integration_tests/mfa-change-demo/mfa-start.sql b/integration_tests/nyc-taxi-feature-store-demo/mfa-start.sql similarity index 100% rename from integration_tests/mfa-change-demo/mfa-start.sql rename to integration_tests/nyc-taxi-feature-store-demo/mfa-start.sql diff --git a/integration_tests/mfa-change-demo/run-local.sh b/integration_tests/nyc-taxi-feature-store-demo/run-local.sh similarity index 100% rename from integration_tests/mfa-change-demo/run-local.sh rename to integration_tests/nyc-taxi-feature-store-demo/run-local.sh diff --git a/integration_tests/mfa-change-demo/run-mfa.sh b/integration_tests/nyc-taxi-feature-store-demo/run-mfa.sh similarity index 100% rename from integration_tests/mfa-change-demo/run-mfa.sh rename to integration_tests/nyc-taxi-feature-store-demo/run-mfa.sh diff --git a/integration_tests/mfa-change-demo/run.sh b/integration_tests/nyc-taxi-feature-store-demo/run.sh similarity index 100% rename from integration_tests/mfa-change-demo/run.sh rename to integration_tests/nyc-taxi-feature-store-demo/run.sh diff --git a/integration_tests/mfa-change-demo/server/Cargo.lock b/integration_tests/nyc-taxi-feature-store-demo/server/Cargo.lock similarity index 100% rename from integration_tests/mfa-change-demo/server/Cargo.lock rename to integration_tests/nyc-taxi-feature-store-demo/server/Cargo.lock diff --git a/integration_tests/mfa-change-demo/server/Cargo.toml b/integration_tests/nyc-taxi-feature-store-demo/server/Cargo.toml similarity index 100% rename from integration_tests/mfa-change-demo/server/Cargo.toml rename to integration_tests/nyc-taxi-feature-store-demo/server/Cargo.toml diff --git a/integration_tests/mfa-change-demo/server/actor.proto b/integration_tests/nyc-taxi-feature-store-demo/server/actor.proto similarity index 100% rename from integration_tests/mfa-change-demo/server/actor.proto rename to integration_tests/nyc-taxi-feature-store-demo/server/actor.proto diff --git a/integration_tests/mfa-change-demo/server/build.rs b/integration_tests/nyc-taxi-feature-store-demo/server/build.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/build.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/build.rs diff --git a/integration_tests/mfa-change-demo/server/model/__init__.py b/integration_tests/nyc-taxi-feature-store-demo/server/model/__init__.py similarity index 100% rename from integration_tests/mfa-change-demo/server/model/__init__.py rename to integration_tests/nyc-taxi-feature-store-demo/server/model/__init__.py diff --git a/integration_tests/mfa-change-demo/server/model/__main__.py b/integration_tests/nyc-taxi-feature-store-demo/server/model/__main__.py similarity index 100% rename from integration_tests/mfa-change-demo/server/model/__main__.py rename to integration_tests/nyc-taxi-feature-store-demo/server/model/__main__.py diff --git a/integration_tests/mfa-change-demo/server/model/model.proto b/integration_tests/nyc-taxi-feature-store-demo/server/model/model.proto similarity index 100% rename from integration_tests/mfa-change-demo/server/model/model.proto rename to integration_tests/nyc-taxi-feature-store-demo/server/model/model.proto diff --git a/integration_tests/mfa-change-demo/server/model/model.py b/integration_tests/nyc-taxi-feature-store-demo/server/model/model.py similarity index 100% rename from integration_tests/mfa-change-demo/server/model/model.py rename to integration_tests/nyc-taxi-feature-store-demo/server/model/model.py diff --git a/integration_tests/mfa-change-demo/server/model/model_pb2.py b/integration_tests/nyc-taxi-feature-store-demo/server/model/model_pb2.py similarity index 100% rename from integration_tests/mfa-change-demo/server/model/model_pb2.py rename to integration_tests/nyc-taxi-feature-store-demo/server/model/model_pb2.py diff --git a/integration_tests/mfa-change-demo/server/model/model_pb2_grpc.py b/integration_tests/nyc-taxi-feature-store-demo/server/model/model_pb2_grpc.py similarity index 100% rename from integration_tests/mfa-change-demo/server/model/model_pb2_grpc.py rename to integration_tests/nyc-taxi-feature-store-demo/server/model/model_pb2_grpc.py diff --git a/integration_tests/mfa-change-demo/server/model/requirements.txt b/integration_tests/nyc-taxi-feature-store-demo/server/model/requirements.txt similarity index 100% rename from integration_tests/mfa-change-demo/server/model/requirements.txt rename to integration_tests/nyc-taxi-feature-store-demo/server/model/requirements.txt diff --git a/integration_tests/mfa-change-demo/server/model/sql.py b/integration_tests/nyc-taxi-feature-store-demo/server/model/sql.py similarity index 100% rename from integration_tests/mfa-change-demo/server/model/sql.py rename to integration_tests/nyc-taxi-feature-store-demo/server/model/sql.py diff --git a/integration_tests/mfa-change-demo/server/src/feature_store.rs b/integration_tests/nyc-taxi-feature-store-demo/server/src/feature_store.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/src/feature_store.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/src/feature_store.rs diff --git a/integration_tests/mfa-change-demo/server/src/kafka.rs b/integration_tests/nyc-taxi-feature-store-demo/server/src/kafka.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/src/kafka.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/src/kafka.rs diff --git a/integration_tests/mfa-change-demo/server/src/main.rs b/integration_tests/nyc-taxi-feature-store-demo/server/src/main.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/src/main.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/src/main.rs diff --git a/integration_tests/mfa-change-demo/server/src/model.rs b/integration_tests/nyc-taxi-feature-store-demo/server/src/model.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/src/model.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/src/model.rs diff --git a/integration_tests/mfa-change-demo/server/src/server_pb.rs b/integration_tests/nyc-taxi-feature-store-demo/server/src/server_pb.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/src/server_pb.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/src/server_pb.rs diff --git a/integration_tests/mfa-change-demo/server/src/serving.rs b/integration_tests/nyc-taxi-feature-store-demo/server/src/serving.rs similarity index 100% rename from integration_tests/mfa-change-demo/server/src/serving.rs rename to integration_tests/nyc-taxi-feature-store-demo/server/src/serving.rs diff --git a/integration_tests/mfa-change-demo/server/udf.py b/integration_tests/nyc-taxi-feature-store-demo/server/udf.py similarity index 100% rename from integration_tests/mfa-change-demo/server/udf.py rename to integration_tests/nyc-taxi-feature-store-demo/server/udf.py diff --git a/integration_tests/mfa-change-demo/simulator/Cargo.lock b/integration_tests/nyc-taxi-feature-store-demo/simulator/Cargo.lock similarity index 100% rename from integration_tests/mfa-change-demo/simulator/Cargo.lock rename to integration_tests/nyc-taxi-feature-store-demo/simulator/Cargo.lock diff --git a/integration_tests/mfa-change-demo/simulator/Cargo.toml b/integration_tests/nyc-taxi-feature-store-demo/simulator/Cargo.toml similarity index 100% rename from integration_tests/mfa-change-demo/simulator/Cargo.toml rename to integration_tests/nyc-taxi-feature-store-demo/simulator/Cargo.toml diff --git a/integration_tests/mfa-change-demo/simulator/__init__.py b/integration_tests/nyc-taxi-feature-store-demo/simulator/__init__.py similarity index 100% rename from integration_tests/mfa-change-demo/simulator/__init__.py rename to integration_tests/nyc-taxi-feature-store-demo/simulator/__init__.py diff --git a/integration_tests/mfa-change-demo/simulator/rust-toolchain b/integration_tests/nyc-taxi-feature-store-demo/simulator/rust-toolchain similarity index 100% rename from integration_tests/mfa-change-demo/simulator/rust-toolchain rename to integration_tests/nyc-taxi-feature-store-demo/simulator/rust-toolchain diff --git a/integration_tests/mfa-change-demo/simulator/src/entities.rs b/integration_tests/nyc-taxi-feature-store-demo/simulator/src/entities.rs similarity index 100% rename from integration_tests/mfa-change-demo/simulator/src/entities.rs rename to integration_tests/nyc-taxi-feature-store-demo/simulator/src/entities.rs diff --git a/integration_tests/mfa-change-demo/simulator/src/entities_taxi.rs b/integration_tests/nyc-taxi-feature-store-demo/simulator/src/entities_taxi.rs similarity index 100% rename from integration_tests/mfa-change-demo/simulator/src/entities_taxi.rs rename to integration_tests/nyc-taxi-feature-store-demo/simulator/src/entities_taxi.rs diff --git a/integration_tests/mfa-change-demo/simulator/src/main.rs b/integration_tests/nyc-taxi-feature-store-demo/simulator/src/main.rs similarity index 100% rename from integration_tests/mfa-change-demo/simulator/src/main.rs rename to integration_tests/nyc-taxi-feature-store-demo/simulator/src/main.rs diff --git a/integration_tests/mfa-change-demo/simulator/src/server_pb.rs b/integration_tests/nyc-taxi-feature-store-demo/simulator/src/server_pb.rs similarity index 100% rename from integration_tests/mfa-change-demo/simulator/src/server_pb.rs rename to integration_tests/nyc-taxi-feature-store-demo/simulator/src/server_pb.rs diff --git a/integration_tests/mfa-change-demo/simulator/src/simulation.rs b/integration_tests/nyc-taxi-feature-store-demo/simulator/src/simulation.rs similarity index 100% rename from integration_tests/mfa-change-demo/simulator/src/simulation.rs rename to integration_tests/nyc-taxi-feature-store-demo/simulator/src/simulation.rs diff --git a/integration_tests/mfa-change-demo/taxi-start.sql b/integration_tests/nyc-taxi-feature-store-demo/taxi-start.sql similarity index 100% rename from integration_tests/mfa-change-demo/taxi-start.sql rename to integration_tests/nyc-taxi-feature-store-demo/taxi-start.sql