keith-turner commented on code in PR #3417:
URL: https://github.com/apache/accumulo/pull/3417#discussion_r1206786794
##########
core/src/main/java/org/apache/accumulo/core/metadata/StoredTabletFile.java:
##########
@@ -60,6 +65,22 @@ public Text getMetaUpdateDeleteText() {
return new Text(getMetaUpdateDelete());
}
+ public TabletFile getTabletFile() {
+ return tabletFile;
+ }
+
+ public TableId getTableId() {
+ return tabletFile.getTableId();
+ }
+
+ public String getPathStr() {
+ return tabletFile.getPathStr();
+ }
+
+ public Text getMetaInsertText() {
+ return tabletFile.getMetaInsertText();
+ }
Review Comment:
That seems like an existing bug to me. Making these types independent makes
it harder to have these bugs. In the older code even with the separate type for
StoredTabletFile it seems it was still really hard to use correctly (like one
had to know not to call getMetaInsertText() when doing a metadata update).
> So, we are normalizing today even for StoredTabletFile and I'm wondering
what happens if we don't.
It seems like we are normalizing. I suspect usually it does not matter
because the normalization ends up being the same as what is stored. If the
normalization is ever not the same it will cause very subtle problems.
In the elasticity branch this will eventually be less of a problem with
conditional update because a condition can be added ot the mutation to require
the exact files tbeing updated to currently exists in the metadata table. With
the existing unconditional mutations, need to ensure the string matches exactly
what is stored in the metadata table otherwise data could be unintentionally
duplicated or not deleted.
--
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]