org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery.getKey()方法的使用及代码示例

x33g5p2x  于2022-01-24 转载在 其他  
字(5.0k)|赞(0)|评价(0)|浏览(73)

本文整理了Java中org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery.getKey()方法的一些代码示例,展示了KeySliceQuery.getKey()的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。KeySliceQuery.getKey()方法的具体详情如下:
包路径:org.janusgraph.diskstorage.keycolumnvalue.KeySliceQuery
类名称:KeySliceQuery
方法名:getKey

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);
}

相关文章