You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@kvrocks.apache.org by "PragmaTwice (via GitHub)" <gi...@apache.org> on 2026/09/25 11:07:21 UTC

[PR] feat(kvrocks2redis): support HFE in full export [kvrocks]

PragmaTwice opened a new pull request, #3644:
URL: https://github.com/apache/kvrocks/pull/3644

   Adds HFE support to full export by decoding each hash using its stored encoding, skipping expired fields, and preserving live field expirations with `HPEXPIREAT`.
   
   Covers mixed encodings and malformed data; the existing RedisWriter startup initialization race is outside this change.
   
   Refs #3436.
   
   Assisted-by: Codex
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(kvrocks2redis): support HFE in full export and migration WAL [kvrocks]

Posted by "PragmaTwice (via GitHub)" <gi...@apache.org>.
PragmaTwice commented on code in PR #3644:
URL: https://github.com/apache/kvrocks/pull/3644#discussion_r4104514050


##########
utils/kvrocks2redis/parser.cc:
##########
@@ -79,12 +80,21 @@ Status Parser::parseSimpleKV(const Slice &ns_key, const Slice &value, uint64_t e
   return s;
 }
 
-Status Parser::parseComplexKV(const Slice &ns_key, const Metadata &metadata) {
+Status Parser::parseComplexKV(const Slice &ns_key, const Slice &metadata_bytes) {

Review Comment:
   Here we parsed metadata twice. I think we can change it to `Parser::parseComplexKV(const Slice &ns_key, const Metadata &metadata, const Slice &metadata_bytes)` to avoid this.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(kvrocks2redis): support HFE in full export and migration WAL [kvrocks]

Posted by "PragmaTwice (via GitHub)" <gi...@apache.org>.
PragmaTwice commented on code in PR #3644:
URL: https://github.com/apache/kvrocks/pull/3644#discussion_r4104506980


##########
CMakeLists.txt:
##########
@@ -319,6 +319,7 @@ target_link_libraries(kvrocks2redis PRIVATE kvrocks_objs ${EXTERNAL_LIBS})
 # kvrocks unit tests
 file(GLOB_RECURSE TESTS_SRCS tests/cppunit/*.cc)
 add_executable(unittest ${TESTS_SRCS})
-target_include_directories(unittest PRIVATE tests/cppunit)
+target_sources(unittest PRIVATE utils/kvrocks2redis/parser.cc utils/kvrocks2redis/writer.cc)

Review Comment:
   just like `kvrocks_objs`, I think we can have `kvrocks2redis_objs` and `kvrocks2redis = kvrocks2redis_objs + main.cc`. here we can just link against `kvrocks2redis_objs`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(kvrocks2redis): support HFE in full export and migration WAL [kvrocks]

Posted by "PragmaTwice (via GitHub)" <gi...@apache.org>.
PragmaTwice merged PR #3644:
URL: https://github.com/apache/kvrocks/pull/3644


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org


Re: [PR] feat(kvrocks2redis): support HFE in full export and migration WAL [kvrocks]

Posted by "PragmaTwice (via GitHub)" <gi...@apache.org>.
PragmaTwice commented on code in PR #3644:
URL: https://github.com/apache/kvrocks/pull/3644#discussion_r4104490476


##########
CMakeLists.txt:
##########
@@ -319,6 +319,7 @@ target_link_libraries(kvrocks2redis PRIVATE kvrocks_objs ${EXTERNAL_LIBS})
 # kvrocks unit tests
 file(GLOB_RECURSE TESTS_SRCS tests/cppunit/*.cc)
 add_executable(unittest ${TESTS_SRCS})
-target_include_directories(unittest PRIVATE tests/cppunit)
+target_sources(unittest PRIVATE utils/kvrocks2redis/parser.cc utils/kvrocks2redis/writer.cc)
+target_include_directories(unittest PRIVATE tests/cppunit ${PROJECT_SOURCE_DIR})

Review Comment:
   include `./utils` instead of `./`.



-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: issues-unsubscribe@kvrocks.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org