static NamespacedEntityId getNamespacedIdFromKey(String type, byte[] rowKey) { MDSKey.Splitter keySplitter = new MDSKey(rowKey).split(); // The rowkey is // [rowPrefix][targetType][targetId][key] for value rows and // [rowPrefix][targetType][targetId][key][index] for value index rows // so skip the first two. keySplitter.skipBytes(); keySplitter.skipString(); return EntityIdKeyHelper.getTargetIdIdFromKey(keySplitter, type); }
private static byte[] createRowKey(NamespacedEntityId targetId) { // We are not going to upgrade owner.meta table in 5.0, when we upgrade this table, // we should call EntityIdKeyHelper#getTargetType() String targetType = EntityIdKeyHelper.getV1TargetType(targetId); MDSKey.Builder builder = new MDSKey.Builder(); builder.add(OWNER_PREFIX); builder.add(targetType); EntityIdKeyHelper.addTargetIdToKey(builder, targetId); MDSKey build = builder.build(); return build.getKey(); } }
private byte[] getChecksumRowKey(long checksum) { MDSKey.Builder builder = new MDSKey.Builder(); builder.add(CHECKSUM_MARKER); builder.add(checksum); return builder.build().getKey(); }
public List<ProvisioningTaskInfo> listTaskInfo() { return table.list(new MDSKey.Builder().add(STATE_PREFIX).build(), ProvisioningTaskInfo.class); }
private static MDSKey.Builder getMDSKeyPrefix(NamespacedEntityId targetId, byte[] rowPrefix) { String targetType = EntityIdKeyHelper.getV1TargetType(targetId); MDSKey.Builder builder = new MDSKey.Builder(); builder.add(rowPrefix); builder.add(targetType); EntityIdKeyHelper.addTargetIdToKey(builder, targetId); return builder; }
static String getTargetType(byte[] rowKey) { MDSKey.Splitter keySplitter = new MDSKey(rowKey).split(); // The rowkey is // [rowPrefix][targetType][targetId][key] for value rows and // [rowPrefix][targetType][targetId][key][index] for value index rows keySplitter.getBytes(); return keySplitter.getString(); }
/** * Returns mapping of all that has same first id parts for default COLUMN, with a limit * * @param id prefix row key * @param typeOfT the type of the result * @param limit limit of the result * @return map of row key to result */ public <T> Map<MDSKey, T> listKV(MDSKey id, Type typeOfT, int limit) { return listKV(id, null, typeOfT, limit, x -> true); }
/** * Splits the keys into a {@link Splitter} which exposes the parts that comprise the key. */ public Splitter split() { return new Splitter(key); }
private byte[] getChecksumRowKey(long checksum) { MDSKey.Builder builder = new MDSKey.Builder(); builder.add(CHECKSUM_MARKER); builder.add(checksum); return builder.build().getKey(); }
private static byte[] createRowKey(NamespacedEntityId targetId) { // We are not going to upgrade owner.meta table in 5.0, when we upgrade this table, // we should call EntityIdKeyHelper#getTargetType() String targetType = EntityIdKeyHelper.getV1TargetType(targetId); MDSKey.Builder builder = new MDSKey.Builder(); builder.add(OWNER_PREFIX); builder.add(targetType); EntityIdKeyHelper.addTargetIdToKey(builder, targetId); MDSKey build = builder.build(); return build.getKey(); } }
/** * Add namespace and timestamp and return it as the scan key * @return scan key */ private byte[] getScanKey(String namespace, long timestamp) { MDSKey.Builder scanKeyBuilder = new MDSKey.Builder(); scanKeyBuilder.add(namespace); scanKeyBuilder.add(timestamp); return scanKeyBuilder.build().getKey(); }
static String getNamespaceId(MDSKey key) { MDSKey.Splitter keySplitter = key.split(); // The rowkey is // [rowPrefix][targetType][targetId][key] for value rows and // [rowPrefix][targetType][targetId][key][index] for value index rows // so skip the first two. keySplitter.skipBytes(); keySplitter.skipString(); // We are getting the first part of [targetId] which always be the namespace id. return keySplitter.getString(); }
/** * Add namespace and timestamp and return it as the scan key * @return scan key */ private byte[] getScanKey(String namespace, long timestamp) { MDSKey.Builder scanKeyBuilder = new MDSKey.Builder(); scanKeyBuilder.add(namespace); scanKeyBuilder.add(timestamp); return scanKeyBuilder.build().getKey(); }
private String extractFieldName(byte[] columnKey) { MDSKey.Splitter keySplitter = new MDSKey(columnKey).split(); // The key is // [outgoing prefix (o)][EndPoint:Namespace][EndPoint:Name][fieldName] // skip prefix keySplitter.skipBytes(); // Skip namespace keySplitter.skipString(); // skip dataset name keySplitter.skipString(); return keySplitter.getString(); } }
static byte[] getValueRowPrefix() { MDSKey key = new MDSKey.Builder().add(VALUE_ROW_PREFIX).build(); return key.getKey(); }
private String extractFieldName(byte[] columnKey) { MDSKey.Splitter keySplitter = new MDSKey(columnKey).split(); // The key is // [outgoing prefix (o)][EndPoint:Namespace][EndPoint:Name][fieldName] // skip prefix keySplitter.skipBytes(); // Skip namespace keySplitter.skipString(); // skip dataset name keySplitter.skipString(); return keySplitter.getString(); } }
static byte[] getIndexRowPrefix() { MDSKey key = new MDSKey.Builder().add(INDEX_ROW_PREFIX).build(); return key.getKey(); }
static byte[] getHistoryRowPrefix() { MDSKey key = new MDSKey.Builder().add(ROW_PREFIX).build(); return key.getKey(); }