cshannon commented on issue #1327: URL: https://github.com/apache/accumulo/issues/1327#issuecomment-1475307312
I've started looking at how to persist ranges to the file field in the metadata table. The main thing I've noticed digging into it so far is that I will need to find a good way to persist the ranges as a String. It looks like all the values in the Metadata table are converting to string representations and encoded as UTF-8 and right now a Range encode only supports just bytes. This should be doable of course I will just need to write the logic to do it. Currently [DataFileValue](https://github.com/apache/accumulo/blob/540179d1f52dcc478eee3a3ee3c5fac106736c8b/core/src/main/java/org/apache/accumulo/core/metadata/schema/DataFileValue.java) contains size, number of entries and optional time field all comma separated and encoded as a String. My current plan is to encode the collection or Ranges for a file and append it as the 4th item in the value. In order to be backwards compatible the DataFileValue logic that decodes will check if there are 4 items to parse when splitting on the comma and if there's a 4th item it will know that range information exists. Right now time is optional and is not encoded if -1 (not set) so going forward we will have to write it as -1 if not set but range information is set so that we can parse properly. Obviously if no range information exists then this just means the entire file is valid so we don't need to have a range or the range will just be a range with infinite start/stop so will be backwards comp atible. -- 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]
