errose28 commented on PR #7177:
URL: https://github.com/apache/ozone/pull/7177#issuecomment-2346802303

   > To handle same,
   
   > proto validation is used to validate data (basic one)
   we are planning add audit log to record all changes done in DB itself (diff 
of changes if exist, new add record, or delete data) - 
[HDDS-11447](https://issues.apache.org/jira/browse/HDDS-11447)
   
   Neither of these address my primary concern: that data is lost in 
translation of proto objects to or from json. Protos will still be valid if 
fields are missing or values have drifted unintentionally, and the audit log 
depends on human readable representations of the data which will not expose any 
silent bugs in translation to/from human readable format.
   
   > But as support, instead of downloading rosckdb ldb tool and using same is 
having higher risk as done for immediate recovery of environment and may not be 
possible for certain cases.
   
   The difference is that RocksDB's ldb is an external tool to interact with 
RocksDB directly. If someone is using that, it's clear that they are bypassing 
Ozone and removing any safety guarantees we provide. Once we add something to 
our CLI, even if it is under `ozone repair` which comes with it's own warnings, 
there is more trust by the user that it will work correctly. I don't think we 
can fulfill that requirement.
   
   I think we might be able to safely(ish) add something like this if we 
depended on protobuf itself to do the json <-> proto translation, but that is 
not supported until proto 3 
([javadoc](https://javadoc.io/doc/com.google.protobuf/protobuf-java-util/latest/com/google/protobuf/util/JsonFormat.html),
 [package 
versions](https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java-util))


-- 
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