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]
