本文整理了Java中org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery.getKey()
方法的一些代码示例,展示了KeySliceQuery.getKey()
的具体用法。这些代码示例主要来源于Github
/Stackoverflow
/Maven
等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。KeySliceQuery.getKey()
方法的具体详情如下:
包路径:org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery
类名称:KeySliceQuery
方法名:getKey
暂无
代码示例来源:origin: JanusGraph/janusgraph
private boolean isExpired(final KeySliceQuery query) {
Long until = expiredKeys.get(query.getKey());
if (until==null) return false;
if (isBeyondExpirationTime(until)) {
expiredKeys.remove(query.getKey(),until);
return false;
}
//We suffer a cache miss, hence decrease the count down
penaltyCountdown.countDown();
return true;
}
代码示例来源:origin: JanusGraph/janusgraph
@Override
public void run() {
while (true) {
if (stop) return;
try {
penaltyCountdown.await();
} catch (InterruptedException e) {
if (stop) return;
else throw new RuntimeException("Cleanup thread got interrupted",e);
}
//Do clean up work by invalidating all entries for expired keys
final Map<StaticBuffer,Long> expiredKeysCopy = new HashMap<>(expiredKeys.size());
for (Map.Entry<StaticBuffer,Long> expKey : expiredKeys.entrySet()) {
if (isBeyondExpirationTime(expKey.getValue()))
expiredKeys.remove(expKey.getKey(), expKey.getValue());
else if (getAge(expKey.getValue())>= invalidationGracePeriodMS)
expiredKeysCopy.put(expKey.getKey(),expKey.getValue());
}
for (KeySliceQuery ksq : cache.asMap().keySet()) {
if (expiredKeysCopy.containsKey(ksq.getKey())) cache.invalidate(ksq);
}
penaltyCountdown = new CountDownLatch(PENALTY_THRESHOLD);
for (Map.Entry<StaticBuffer,Long> expKey : expiredKeysCopy.entrySet()) {
expiredKeys.remove(expKey.getKey(),expKey.getValue());
}
}
}
代码示例来源:origin: JanusGraph/janusgraph
@Override
public EntryList getSlice(KeySliceQuery query, StoreTransaction txh) throws BackendException {
ColumnValueStore cvs = kcv.get(query.getKey());
if (cvs == null) return EntryList.EMPTY_LIST;
else return cvs.getSlice(query, txh);
}
代码示例来源:origin: JanusGraph/janusgraph
final KVQuery convertQuery(final KeySliceQuery query) {
Predicate<StaticBuffer> filter = Predicates.alwaysTrue();
if (!hasFixedKeyLength()) {
filter = keyAndColumn -> equalKey(keyAndColumn, query.getKey());
}
return new KVQuery(
concatenatePrefix(query.getKey(), query.getSliceStart()),
concatenatePrefix(query.getKey(), query.getSliceEnd()),
filter,query.getLimit());
}
代码示例来源:origin: org.apache.atlas/atlas-janusgraph-hbase2
@Override
public EntryList getSlice(KeySliceQuery query, StoreTransaction txh) throws BackendException {
Map<StaticBuffer, EntryList> result = getHelper(Arrays.asList(query.getKey()), getFilter(query));
return Iterables.getOnlyElement(result.values(), EntryList.EMPTY_LIST);
}
代码示例来源:origin: awslabs/dynamodb-janusgraph-storage-backend
@Override
public EntryList getSlice(final KeySliceQuery query, final StoreTransaction txh)
throws BackendException {
log.debug("Entering getSliceKeySliceQuery table:{} query:{} txh:{}", getTableName(), encodeForLog(query), txh);
final EntryList result = getKeysRangeQuery(query.getKey(), query, txh);
log.debug("Exiting getSliceKeySliceQuery table:{} query:{} txh:{} returning:{}", getTableName(), encodeForLog(query), txh,
result.size());
return result;
}
代码示例来源:origin: awslabs/dynamodb-janusgraph-storage-backend
protected String encodeForLog(final KeySliceQuery query) {
return "keyslice[hk:" + encodeKeyForLog(query.getKey()) + " " + "rk:" + encodeKeyForLog(query.getSliceStart()) + " -> " + encodeKeyForLog(query.getSliceEnd()) + " limit:"
+ query.getLimit() + "]";
}
代码示例来源:origin: awslabs/dynamodb-janusgraph-storage-backend
@Override
public EntryList getSlice(final KeySliceQuery query, final StoreTransaction txh) throws BackendException {
log.debug("Entering getSliceKeySliceQuery table:{} query:{} txh:{}", getTableName(), encodeForLog(query), txh);
final GetItemRequest request = super.createGetItemRequest().withKey(new ItemBuilder().hashKey(query.getKey()).build());
final GetItemResult result = new ExponentialBackoff.GetItem(request, client.getDelegate()).runWithBackoff();
final List<Entry> filteredEntries = extractEntriesFromGetItemResult(result, query.getSliceStart(), query.getSliceEnd(), query.getLimit());
log.debug("Exiting getSliceKeySliceQuery table:{} query:{} txh:{} returning:{}", getTableName(), encodeForLog(query), txh,
filteredEntries.size());
return StaticArrayEntryList.of(filteredEntries);
}
代码示例来源:origin: org.janusgraph/janusgraph-cql
@Override
public EntryList getSlice(final KeySliceQuery query, final StoreTransaction txh) throws BackendException {
final Future<EntryList> result = Future.fromJavaFuture(
this.executorService,
this.session.executeAsync(this.getSlice.bind()
.setBytes(KEY_BINDING, query.getKey().asByteBuffer())
.setBytes(SLICE_START_BINDING, query.getSliceStart().asByteBuffer())
.setBytes(SLICE_END_BINDING, query.getSliceEnd().asByteBuffer())
.setInt(LIMIT_BINDING, query.getLimit())
.setConsistencyLevel(getTransaction(txh).getReadConsistencyLevel())))
.map(resultSet -> fromResultSet(resultSet, this.getter));
interruptibleWait(result);
return result.getValue().get().getOrElseThrow(EXCEPTION_MAPPER);
}
内容来源于网络,如有侵权,请联系作者删除!