/** * Retrieves ip addresses that are in RELEASED state for more than IP_ADDRESS_RELEASE_INTERVAL_MS milliseconds. * * @return List of IP addresses that are in RELEASED state for more than IP_ADDRESS_RELEASE_PERIOD_MS millii seconds. */ private DeferredResult<List<IPAddressService.IPAddressState>> retrieveReleasedIPAddresses() { long currentTime = Utils.getNowMicrosUtc(); long ipAddressReleaseCutoffTime = currentTime - TimeUnit.SECONDS.toMicros(IP_ADDRESS_RELEASE_PERIOD_SECONDS); QueryTask.Query getReleasedIPAddressesQuery = QueryTask.Query.Builder.create() .addKindFieldClause(IPAddressService.IPAddressState.class) .addFieldClause(FIELD_NAME_IP_ADDRESS_STATUS, IPAddressService.IPAddressState.IPAddressStatus.RELEASED.toString()) .addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, QueryTask.NumericRange.createLessThanRange(ipAddressReleaseCutoffTime)) .build(); QueryUtils.QueryByPages<IPAddressService.IPAddressState> queryByPages = new QueryUtils.QueryByPages<>( this.getHost(), getReleasedIPAddressesQuery, IPAddressService.IPAddressState.class, null); queryByPages.setClusterType(ServiceTypeCluster.INVENTORY_SERVICE); return queryByPages.collectDocuments(Collectors.toList()) .exceptionally(e -> { logWarning(String.format("Failed to retrieve released IP addresses due to error %s", e.getMessage())); return new ArrayList<>(); }); }
builder.addFieldClause(ResourceMetrics.FIELD_NAME_SELF_LINK, metricSelfLink, MatchType.PREFIX); builder.addRangeClause(QuerySpecification .buildCompositeFieldName(ResourceMetrics.FIELD_NAME_ENTRIES, rollupKey), NumericRange.createDoubleRange(0.0, Double.MAX_VALUE, true, true));
.addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createLessThanOrEqualRange(documentUpdatedTime), Occurance.MUST_OCCUR)
.addRangeClause(ExampleServiceState.FIELD_NAME_COUNTER, NumericRange.createEqualRange(exampleServiceState.counter), Occurance.SHOULD_OCCUR)
.addRangeClause(ExampleServiceState.FIELD_NAME_COUNTER, NumericRange.createEqualRange(exampleServiceState.counter), Occurance.SHOULD_OCCUR)
.addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createLessThanOrEqualRange(documentUpdatedTime), Occurance.MUST_OCCUR)
UriUtils.buildUriPath(ResourceMetricsService.FACTORY_LINK, UriUtils.getLastPathSegment(currentState.computeLink)), MatchType.PREFIX); builder.addRangeClause( QuerySpecification.buildCompositeFieldName(ResourceMetrics.FIELD_NAME_ENTRIES, lastSuccessfulRunMetricKey), NumericRange.createDoubleRange(Double.MIN_VALUE, Double.MAX_VALUE, true, true)); QueryTask task = QueryTask.Builder.createDirectTask()
UriUtils.buildUriPath(ResourceMetricsService.FACTORY_LINK, UriUtils.getLastPathSegment(currentState.computeLink)), MatchType.PREFIX); builder.addRangeClause( QuerySpecification.buildCompositeFieldName(ResourceMetrics.FIELD_NAME_ENTRIES, lastSuccessfulRunMetricKey), NumericRange.createDoubleRange(Double.MIN_VALUE, Double.MAX_VALUE, true, true)); QueryTask task = QueryTask.Builder.createDirectTask()
if (body.state.documentVersion > 0) { queryBuilder.addRangeClause(ServiceDocument.FIELD_NAME_VERSION, NumericRange.createLongRange(0L, body.state.documentVersion, true, false));
QuerySpecification spec = new QuerySpecification(); spec.query.addBooleanClause( Query.Builder.create().addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createGreaterThanRange(time)).build()); migrationState.querySpec = spec;
QuerySpecification spec = new QuerySpecification(); spec.query.addBooleanClause( Query.Builder.create().addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createGreaterThanRange(time)).build()); migrationState.querySpec = spec;
Query timeClause = Query.Builder .create() .addRangeClause( ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange
QuerySpecification spec = new QuerySpecification(); spec.query.addBooleanClause( Query.Builder.create().addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createGreaterThanRange(time)).build()); migrationState.querySpec = spec;
QuerySpecification spec = new QuerySpecification(); spec.query.addBooleanClause( Query.Builder.create().addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createGreaterThanRange(time)).build()); migrationState.querySpec = spec;
QuerySpecification spec = new QuerySpecification(); spec.query.addBooleanClause( Query.Builder.create().addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createGreaterThanRange(time)).build()); migrationState.querySpec = spec;
QuerySpecification spec = new QuerySpecification(); spec.query.addBooleanClause( Query.Builder.create().addRangeClause(ServiceDocument.FIELD_NAME_UPDATE_TIME_MICROS, NumericRange.createGreaterThanRange(time)).build()); migrationState.querySpec = spec;
.addCompositeFieldClause(ResourceMetrics.FIELD_NAME_CUSTOM_PROPERTIES, ResourceMetrics.PROPERTY_RESOURCE_LINK, resourceLink) .addRangeClause(QuerySpecification.buildCompositeFieldName( ResourceMetrics.FIELD_NAME_ENTRIES, metricKey), NumericRange.createDoubleRange(Double.MIN_VALUE, Double.MAX_VALUE,
private QueryTask createGraphQueryStage(int stageIndex) { QueryTask stage = QueryTask.Builder.create() .addOption(QueryOption.SELECT_LINKS) .addLinkTerm(QueryValidationServiceState.FIELD_NAME_SERVICE_LINKS) .setQuery(Query.Builder.create() .addRangeClause(QueryValidationServiceState.FIELD_NAME_LONG_VALUE, NumericRange.createLongRange((long) stageIndex, (long) stageIndex, true, true)) .addKindFieldClause(QueryValidationServiceState.class) .build()) .build(); return stage; }
private QueryTask createGraphQueryStage(int stageIndex) { QueryTask stage = QueryTask.Builder.create() .addOption(QueryOption.SELECT_LINKS) .addLinkTerm(QueryValidationServiceState.FIELD_NAME_SERVICE_LINKS) .setQuery(Query.Builder.create() .addRangeClause(QueryValidationServiceState.FIELD_NAME_LONG_VALUE, NumericRange.createLongRange((long) stageIndex, (long) stageIndex, true, true)) .addKindFieldClause(QueryValidationServiceState.class) .build()) .build(); return stage; }
/** * Add a clause which matches a {@link NumericRange} for a given numeric field. * @param fieldName the top level numeric field name. * @param range a numeric range. * @return a reference to this object. */ public Builder addRangeClause(String fieldName, NumericRange<?> range) { return addRangeClause(fieldName, range, Occurance.MUST_OCCUR); }