Is your feature request related to a problem? Please describe.
The current Erasure Coding (EC) policy settings are set via table properties and performed via the ErasureCodeConfigurer class
There was a recent desire to exclude a particular volume from the EC policy due to storage layer configuration.
While it is possible to add volume knowledge into the ErasureCodeConfigurer properties, the configuration model gets complicated.
Erasure Coding is a data storage format setting that seems highly related to volumes whereas table settings generally manage data structure.
Describe the solution you'd like
I think reworking the EC policy settings to be attached to/underneath a volume definition makes the interface cleaner.
EC policy relates to how data is stored. The current settings are based on object sizes, but if volume selection can be done based on size then I'm not sure the table has any need to know its storage format.
Unless there is a limitation on the number of volumes that can be defined in accumulo.
There are also other settings that may have been applied at the table level that should also be consolidated behind the volume definition.
The various data storage format configuration options in accumulo should be investigated and see if the complexity is simplified if put behind a common interface (volumes, storage formats, etc).
Is your feature request related to a problem? Please describe.
The current Erasure Coding (EC) policy settings are set via table properties and performed via the ErasureCodeConfigurer class
There was a recent desire to exclude a particular volume from the EC policy due to storage layer configuration.
While it is possible to add volume knowledge into the ErasureCodeConfigurer properties, the configuration model gets complicated.
Erasure Coding is a data storage format setting that seems highly related to volumes whereas table settings generally manage data structure.
Describe the solution you'd like
I think reworking the EC policy settings to be attached to/underneath a volume definition makes the interface cleaner.
EC policy relates to how data is stored. The current settings are based on object sizes, but if volume selection can be done based on size then I'm not sure the table has any need to know its storage format.
Unless there is a limitation on the number of volumes that can be defined in accumulo.
There are also other settings that may have been applied at the table level that should also be consolidated behind the volume definition.
The various data storage format configuration options in accumulo should be investigated and see if the complexity is simplified if put behind a common interface (volumes, storage formats, etc).