@Test public void testHColumnDescriptorCachedMaxVersions() throws Exception { HColumnDescriptor hcd = new HColumnDescriptor(FAMILY); hcd.setMaxVersions(5); // Verify the max version assertEquals(5, hcd.getMaxVersions()); // modify the max version hcd.setValue(Bytes.toBytes(HConstants.VERSIONS), Bytes.toBytes("8")); // Verify the max version assertEquals(8, hcd.getMaxVersions()); }
/** * This utility method creates a new Thrift ColumnDescriptor "struct" based on * an Hbase HColumnDescriptor object. * * @param in * Hbase HColumnDescriptor object * @return Thrift ColumnDescriptor */ static public ColumnDescriptor colDescFromHbase(HColumnDescriptor in) { ColumnDescriptor col = new ColumnDescriptor(); col.name = ByteBuffer.wrap(Bytes.add(in.getName(), KeyValue.COLUMN_FAMILY_DELIM_ARRAY)); col.maxVersions = in.getMaxVersions(); col.compression = in.getCompressionType().toString(); col.inMemory = in.isInMemory(); col.blockCacheEnabled = in.isBlockCacheEnabled(); col.bloomFilterType = in.getBloomFilterType().toString(); col.timeToLive = in.getTimeToLive(); return col; }
assertTrue(countOfFamilies > 0); HColumnDescriptor hcd = modifiedHtd.getFamilies().iterator().next(); int maxversions = hcd.getMaxVersions(); final int newMaxVersions = maxversions + 1; hcd.setMaxVersions(newMaxVersions); modifiedHtd = this.admin.getTableDescriptor(tableName); HColumnDescriptor modifiedHcd = modifiedHtd.getFamily(hcdName); assertEquals(newMaxVersions, modifiedHcd.getMaxVersions());
hcd.setValue("a", "b"); hcd.setMaxVersions(v); assertEquals(v, hcd.getMaxVersions()); hcd.setMinVersions(v); assertEquals(v, hcd.getMinVersions()); assertEquals(v, hcd.getScope()); assertEquals(hcd.getValue("a"), deserializedHcd.getValue("a")); assertEquals(hcd.getMaxVersions(), deserializedHcd.getMaxVersions()); assertEquals(hcd.getMinVersions(), deserializedHcd.getMinVersions()); assertEquals(hcd.getKeepDeletedCells(), deserializedHcd.getKeepDeletedCells());
Assert.assertEquals(Integer.parseInt("12345678"), columnDescriptor.getTimeToLive()); Assert.assertEquals(Algorithm.valueOf("GZ"), columnDescriptor.getCompressionType()); Assert.assertEquals(Integer.parseInt("6"), columnDescriptor.getMaxVersions()); Assert.assertEquals(Integer.parseInt("3"), columnDescriptor.getMinVersions()); count++;
Assert.assertEquals(Integer.parseInt("12345678"), columnDescriptor.getTimeToLive()); Assert.assertEquals(Algorithm.valueOf("GZ"), columnDescriptor.getCompressionType()); Assert.assertEquals(Integer.parseInt("6"), columnDescriptor.getMaxVersions()); Assert.assertEquals(Integer.parseInt("3"), columnDescriptor.getMinVersions()); count++;
/** * Alter the table metadata and return modified value * @param driver * @param tableName * @return value of VERSIONS option for the table * @throws Exception */ private int verifyModificationTableMetadata(PhoenixSysCatCreationTestingDriver driver, String tableName) throws Exception { // Modify table metadata Connection conn = driver.getConnectionQueryServices(getJdbcUrl(), new Properties()).connect(getJdbcUrl(), new Properties()); conn.createStatement().execute("ALTER TABLE " + tableName + " SET VERSIONS = " + MODIFIED_MAX_VERSIONS); // Connect via a client that creates a new ConnectionQueryServices instance driver.resetCQS(); driver.getConnectionQueryServices(getJdbcUrl(), new Properties()).connect(getJdbcUrl(), new Properties()); HTableDescriptor descriptor = testUtil.getHBaseAdmin().getTableDescriptor(TableName.valueOf(tableName)); return descriptor.getFamily(QueryConstants.DEFAULT_COLUMN_FAMILY_BYTES).getMaxVersions(); }
int versionsToReturn(final int wantedVersions) { if (wantedVersions <= 0) { throw new IllegalArgumentException("Number of versions must be > 0"); } // Make sure we do not return more than maximum versions for this store. int maxVersions = this.family.getMaxVersions(); return wantedVersions > maxVersions ? maxVersions: wantedVersions; }
int versionsToReturn(final int wantedVersions) { if (wantedVersions <= 0) { throw new IllegalArgumentException("Number of versions must be > 0"); } // Make sure we do not return more than maximum versions for this store. int maxVersions = this.family.getMaxVersions(); return wantedVersions > maxVersions ? maxVersions: wantedVersions; }
assertTrue(cdA.getKeepDeletedCells()); assertEquals(1,cdA.getMaxVersions());// Overriden using WITH HColumnDescriptor cdB = descriptor.getFamily(cfB); assertTrue(cdB.getKeepDeletedCells());
/** * @param family {@link HColumnDescriptor} describing the column family * @param ttl Store's TTL (in ms) * @param timeToPurgeDeletes duration in ms after which a delete marker can * be purged during a major compaction. * @param comparator The store's comparator */ public ScanInfo(HColumnDescriptor family, long ttl, long timeToPurgeDeletes, KVComparator comparator) { this(family.getName(), family.getMinVersions(), family.getMaxVersions(), ttl, family .getKeepDeletedCells(), timeToPurgeDeletes, comparator); } /**
/** * @param conf * @param family {@link HColumnDescriptor} describing the column family * @param ttl Store's TTL (in ms) * @param timeToPurgeDeletes duration in ms after which a delete marker can * be purged during a major compaction. * @param comparator The store's comparator */ public ScanInfo(final Configuration conf, final HColumnDescriptor family, final long ttl, final long timeToPurgeDeletes, final KVComparator comparator) { this(conf, family.getName(), family.getMinVersions(), family.getMaxVersions(), ttl, family .getKeepDeletedCells(), timeToPurgeDeletes, comparator); }
hcd.setValue("a", "b"); hcd.setMaxVersions(v); assertEquals(v, hcd.getMaxVersions()); hcd.setMinVersions(v); assertEquals(v, hcd.getMinVersions()); assertEquals(v, hcd.getScope()); assertEquals(hcd.getValue("a"), deserializedHcd.getValue("a")); assertEquals(hcd.getMaxVersions(), deserializedHcd.getMaxVersions()); assertEquals(hcd.getMinVersions(), deserializedHcd.getMinVersions()); assertEquals(hcd.getKeepDeletedCells(), deserializedHcd.getKeepDeletedCells());
public static Filter createVisibilityLabelFilter(Region region, Authorizations authorizations) throws IOException { Map<ByteRange, Integer> cfVsMaxVersions = new HashMap<ByteRange, Integer>(); for (HColumnDescriptor hcd : region.getTableDesc().getFamilies()) { cfVsMaxVersions.put(new SimpleMutableByteRange(hcd.getName()), hcd.getMaxVersions()); } VisibilityLabelService vls = VisibilityLabelServiceManager.getInstance() .getVisibilityLabelService(); Filter visibilityLabelFilter = new VisibilityLabelFilter( vls.getVisibilityExpEvaluator(authorizations), cfVsMaxVersions); return visibilityLabelFilter; }
@Test public void testHColumnDescriptorCachedMaxVersions() throws Exception { HColumnDescriptor hcd = new HColumnDescriptor(FAMILY); hcd.setMaxVersions(5); // Verify the max version assertEquals(5, hcd.getMaxVersions()); // modify the max version hcd.setValue(Bytes.toBytes(HConstants.VERSIONS), Bytes.toBytes("8")); // Verify the max version assertEquals(8, hcd.getMaxVersions()); }
protected void checkCommitFamilyDesc(HColumnDescriptor columnDesc) { Assert.assertEquals(Integer.MAX_VALUE, columnDesc.getMaxVersions()); Assert.assertEquals(HConstants.FOREVER, columnDesc.getTimeToLive()); }
@Test public void testModifyColumnFamily() throws Exception { byte[] modifyColumn = Bytes.toBytes("MODIFY_COLUMN"); addColumn(modifyColumn, 2); assertEquals(2, getTableDescriptor(tableName).getFamily(modifyColumn).getMaxVersions()); modifyColumn(modifyColumn, 100); assertEquals(100, getTableDescriptor(tableName).getFamily(modifyColumn).getMaxVersions()); }
@Test public void testCreateTableFull() throws Exception { HTableDescriptor retrievedDescriptor = getTableDescriptor(tableName); assertEquals(2, retrievedDescriptor.getFamilies().size()); assertNotNull(retrievedDescriptor.getFamily(COLUMN_FAMILY)); assertNotNull(retrievedDescriptor.getFamily(COLUMN_FAMILY2)); assertEquals(SharedTestEnvRule.MAX_VERSIONS, retrievedDescriptor.getFamily(COLUMN_FAMILY).getMaxVersions()); assertEquals(SharedTestEnvRule.MAX_VERSIONS, retrievedDescriptor.getFamily(COLUMN_FAMILY2).getMaxVersions()); }
protected void checkLockFamilyDesc(HColumnDescriptor columnDesc) { Assert.assertArrayEquals(ColumnUtil.LOCK_FAMILY_NAME, columnDesc.getName()); Assert.assertEquals(1, columnDesc.getMaxVersions()); Assert.assertTrue(columnDesc.isInMemory()); Assert.assertEquals(HConstants.FOREVER, columnDesc.getTimeToLive()); }
@Test public void testAddCommitFamilyForThemisTable() throws Exception { if (ColumnUtil.isCommitToDifferentFamily()) { deleteTable(admin, testTable); createTestTable(true); HTableDescriptor tableDesc = admin.getTableDescriptor(testTable); checkLockFamilyDesc(tableDesc); checkCommitFamilyDesc(tableDesc); HColumnDescriptor dataColumnDesc = tableDesc.getFamily(testFamily); Assert.assertEquals(Integer.MAX_VALUE, dataColumnDesc.getMaxVersions()); Assert.assertEquals(HConstants.FOREVER, dataColumnDesc.getTimeToLive()); } }