mirror of
https://github.com/GreptimeTeam/greptimedb.git
synced 2026-05-28 02:40:38 +00:00
feat: bump opendal and switch prometheus layer to the upstream impl (#5179)
* feat: bump opendal and switch prometheus layer to the upstream impl Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * remove unused files Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * fix tests Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * remove unused things Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * remove root dir on recovering cache Signed-off-by: Ruihang Xia <waynestxia@gmail.com> * filter out non-files entry in test Signed-off-by: Ruihang Xia <waynestxia@gmail.com> --------- Signed-off-by: Ruihang Xia <waynestxia@gmail.com>
This commit is contained in:
@@ -65,23 +65,38 @@ async fn test_object_list(store: &ObjectStore) -> Result<()> {
|
||||
store.write(p3, "Hello, object3!").await?;
|
||||
|
||||
// List objects
|
||||
let entries = store.list("/").await?;
|
||||
let entries = store
|
||||
.list("/")
|
||||
.await?
|
||||
.into_iter()
|
||||
.filter(|x| x.metadata().mode() == EntryMode::FILE)
|
||||
.collect::<Vec<_>>();
|
||||
assert_eq!(3, entries.len());
|
||||
|
||||
store.delete(p1).await?;
|
||||
store.delete(p3).await?;
|
||||
|
||||
// List objects again
|
||||
// Only o2 is exists
|
||||
let entries = store.list("/").await?;
|
||||
// Only o2 and root exist
|
||||
let entries = store
|
||||
.list("/")
|
||||
.await?
|
||||
.into_iter()
|
||||
.filter(|x| x.metadata().mode() == EntryMode::FILE)
|
||||
.collect::<Vec<_>>();
|
||||
assert_eq!(1, entries.len());
|
||||
assert_eq!(p2, entries.first().unwrap().path());
|
||||
assert_eq!(p2, entries[0].path());
|
||||
|
||||
let content = store.read(p2).await?;
|
||||
assert_eq!("Hello, object2!", String::from_utf8(content.to_vec())?);
|
||||
|
||||
store.delete(p2).await?;
|
||||
let entries = store.list("/").await?;
|
||||
let entries = store
|
||||
.list("/")
|
||||
.await?
|
||||
.into_iter()
|
||||
.filter(|x| x.metadata().mode() == EntryMode::FILE)
|
||||
.collect::<Vec<_>>();
|
||||
assert!(entries.is_empty());
|
||||
|
||||
assert!(store.read(p1).await.is_err());
|
||||
@@ -252,7 +267,7 @@ async fn test_file_backend_with_lru_cache() -> Result<()> {
|
||||
|
||||
async fn assert_lru_cache<C: Access>(cache_layer: &LruCacheLayer<C>, file_names: &[&str]) {
|
||||
for file_name in file_names {
|
||||
assert!(cache_layer.contains_file(file_name).await);
|
||||
assert!(cache_layer.contains_file(file_name).await, "{file_name}");
|
||||
}
|
||||
}
|
||||
|
||||
@@ -264,7 +279,9 @@ async fn assert_cache_files<C: Access>(
|
||||
let (_, mut lister) = store.list("/", OpList::default()).await?;
|
||||
let mut objects = vec![];
|
||||
while let Some(e) = lister.next().await? {
|
||||
objects.push(e);
|
||||
if e.mode() == EntryMode::FILE {
|
||||
objects.push(e);
|
||||
}
|
||||
}
|
||||
|
||||
// compare the cache file with the expected cache file; ignore orders
|
||||
@@ -332,9 +349,9 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
assert_cache_files(
|
||||
&cache_store,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-14",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=7-14",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=0-14",
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=7-",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=0-",
|
||||
],
|
||||
&["Hello, object1!", "object2!", "Hello, object2!"],
|
||||
)
|
||||
@@ -342,9 +359,9 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
assert_lru_cache(
|
||||
&cache_layer,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-14",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=7-14",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=0-14",
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=7-",
|
||||
"ecfe0dce85de452eb0a325158e7bfb75.cache-bytes=0-",
|
||||
],
|
||||
)
|
||||
.await;
|
||||
@@ -355,13 +372,13 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
assert_eq!(cache_layer.read_cache_stat().await, (1, 15));
|
||||
assert_cache_files(
|
||||
&cache_store,
|
||||
&["6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-14"],
|
||||
&["6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-"],
|
||||
&["Hello, object1!"],
|
||||
)
|
||||
.await?;
|
||||
assert_lru_cache(
|
||||
&cache_layer,
|
||||
&["6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-14"],
|
||||
&["6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-"],
|
||||
)
|
||||
.await;
|
||||
|
||||
@@ -388,8 +405,8 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
assert_cache_files(
|
||||
&cache_store,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-14",
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-4",
|
||||
],
|
||||
&["Hello, object1!", "Hello, object3!", "Hello"],
|
||||
@@ -398,8 +415,8 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
assert_lru_cache(
|
||||
&cache_layer,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-14",
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-4",
|
||||
],
|
||||
)
|
||||
@@ -416,7 +433,7 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
&cache_store,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=1-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-4",
|
||||
],
|
||||
&["ello, object1!", "Hello, object3!", "Hello"],
|
||||
@@ -426,7 +443,7 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
&cache_layer,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=1-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-4",
|
||||
],
|
||||
)
|
||||
@@ -448,7 +465,7 @@ async fn test_object_store_cache_policy() -> Result<()> {
|
||||
&cache_layer,
|
||||
&[
|
||||
"6d29752bdc6e4d5ba5483b96615d6c48.cache-bytes=1-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-14",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-",
|
||||
"a8b1dc21e24bb55974e3e68acc77ed52.cache-bytes=0-4",
|
||||
],
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user