hycdong commented on issue #902:
URL: 
https://github.com/apache/incubator-pegasus/issues/902#issuecomment-1034674782


   # Basic background
   In Pegasus 1.x version, each write request will write request-decree into 
RocksDB Manifest file, which is hard for us to upgrade RocksDB official new 
release. To remove this logic, Pegasus firstly release 2.0.0, which will write 
request-decree both into Manifest file and RocksDB column family called `meta`, 
and read it from Manifest file. In the following release 2.1.0, 2.2.0, decree 
will only be read and wrote through meta column family.
   
   # When and how will it happend
   When the cluster upgrade Pegasus from 2.0.0 to higher version(for example 
2.2.0), the bug will be happened satifying all following conditions:
   1. Cluster has a table doesn't trigger flush memtable after upgrading to 
2.0.0
   2. One partition of this table is not close gracefully when upgrading to 
2.2.0 (When close function called, partition will flush memtable, inluding meta 
column famlity, decree would be found while reopen RocksDB instance).
   
   # How to avoid it
   To avoid this bug, we should gurantee partitions would be closed gracefully 
in upgrade process.


-- 
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: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]



---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to