guluo2016 commented on PR #6986:
URL: https://github.com/apache/hbase/pull/6986#issuecomment-2876007633
ColumnFamilyDescriptorBuilder.java
```java
// Column metadata
private final Map<Bytes, Bytes> values = new HashMap<>();
/**
* A map which holds the configuration specific to the column family.
The keys of the map have
* the same names as config keys and override the defaults with
cf-specific settings. Example
* usage may be for compactions, etc.
*/
private final Map<String, String> configuration = new HashMap<>();
```
Based on code comments, `values` are for column family metadata (set via
`setValue()`), and `configuration` stores column family configs (set via
`setConfiguration()`).
But using the Java API, we can achieve column family level configuration
settings by calling setValue() or setConfiguration(). They don't seem to have a
very clear distinction.
And I think it would also be difficult for users to distinguish between the
two.
```java
ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("info"))
.setValue("hbase.hstore.defaultengine.compactionpolicy.class",
"test.App");
ColumnFamilyDescriptorBuilder.newBuilder(Bytes.toBytes("info"))
.setConfiguration("hbase.hstore.defaultengine.compactionpolicy.class",
"test.App");
```
This changes covers both of the aforementioned scenarios, So i think it is
good.
--
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]