Quanlong Huang has posted comments on this change. ( 
http://gerrit.cloudera.org:8080/24822 )

Change subject: IMPALA-14598: Store HBO cache in Redis/Valkey
......................................................................


Patch Set 6:

(3 comments)

Rebased the patch and implemented clear() for Redis backend.
Also updated test_parity_with_in_memory_backend to run all existing in-memory 
tests on the Redis backend.

http://gerrit.cloudera.org:8080/#/c/24822/5/fe/src/main/java/org/apache/impala/service/CacheBackendFactory.java
File fe/src/main/java/org/apache/impala/service/CacheBackendFactory.java:

http://gerrit.cloudera.org:8080/#/c/24822/5/fe/src/main/java/org/apache/impala/service/CacheBackendFactory.java@57
PS5, Line 57:     switch (backend.trim().toLowerCase(Locale.ROOT)) {
> So I had a similar issue with the "planner" and "fallback_planner" query op
As mentioned in the class comment, I tend to not fail the startup since HBO is 
an optimization. Without it Impala should still work. But I'm open to this if 
we already have other optimization flags that could fail the startup.


http://gerrit.cloudera.org:8080/#/c/24822/5/fe/src/main/java/org/apache/impala/service/RedisCacheBackend.java
File fe/src/main/java/org/apache/impala/service/RedisCacheBackend.java:

http://gerrit.cloudera.org:8080/#/c/24822/5/fe/src/main/java/org/apache/impala/service/RedisCacheBackend.java@131
PS5, Line 131: ic Object getIfPresent(THboStatsType statsType, String k
> We are utilising the statsType for generating keys here but they are ignore
The HBO key strings, e.g. "CARDINALITY:ScanNode:functional.alltypes", already 
have the statsType "CARDINALITY" as the prefix so future stats types won't 
collide.

The prefix here is for admins to clear items of a stats type using Redis CLI. 
So I think it's fine here.


http://gerrit.cloudera.org:8080/#/c/24822/5/fe/src/main/java/org/apache/impala/service/RedisCacheBackend.java@191
PS5, Line 191: lStat
> We are not calling cacheBackend_.close() when the coordinator shuts down. A
It's mainly used in RedisCacheBackendTest. For production usage, it's OK to not 
call this since the pool is a process-lifetime singleton and never recreated. 
Updated the comment for this.



--
To view, visit http://gerrit.cloudera.org:8080/24822
To unsubscribe, visit http://gerrit.cloudera.org:8080/settings

Gerrit-Project: Impala-ASF
Gerrit-Branch: master
Gerrit-MessageType: comment
Gerrit-Change-Id: I43a171bcd436f57bcff14ceaaaa98c0f7dcec769
Gerrit-Change-Number: 24822
Gerrit-PatchSet: 6
Gerrit-Owner: Quanlong Huang <[email protected]>
Gerrit-Reviewer: Aleksandr Efimov <[email protected]>
Gerrit-Reviewer: Aman Sinha <[email protected]>
Gerrit-Reviewer: Arnab Karmakar <[email protected]>
Gerrit-Reviewer: Impala Public Jenkins <[email protected]>
Gerrit-Reviewer: Quanlong Huang <[email protected]>
Gerrit-Reviewer: Steve Carlin <[email protected]>
Gerrit-Comment-Date: Mon, 28 Sep 2026 09:50:07 +0000
Gerrit-HasComments: Yes

Reply via email to