Description
HColumnDescriptor caches the value of VERSIONS in a cachedMaxVersions member variable. This member variable should be reset or cleared when setValue(HConstants.VERSIONS, value) is called, like this:
static final bytes[] VERSIONS_BYTES = Bytes.toBytes(HConstants.VERSIONS); public HColumnDescriptor setValue(byte[] key, byte[] value) { if (Bytes.compare(HConstants.VERSIONS_BYTES, key) == 0) { cachedMaxVersions = UNINITIALIZED; } values.put(new ImmutableBytesWritable(key), new ImmutableBytesWritable(value)); return this; }
Otherwise, you continue getting back cachedMaxVersions instead of the updated value.