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]

Reply via email to