@GET @Path("/{dataSourceName}") @Produces(MediaType.APPLICATION_JSON) @ResourceFilters(RulesResourceFilter.class) public Response getDatasourceRules( @PathParam("dataSourceName") final String dataSourceName, @QueryParam("full") final String full ) { if (full != null) { return Response.ok(databaseRuleManager.getRulesWithDefault(dataSourceName)) .build(); } return Response.ok(databaseRuleManager.getRules(dataSourceName)) .build(); }
final List<Rule> rules = databaseRuleManager.getRulesWithDefault(dataSourceName); final Interval theInterval = Intervals.of(interval); final SegmentDescriptor descriptor = new SegmentDescriptor(theInterval, version, partitionNumber);
public Map<String, ? extends Object2LongMap<String>> getReplicationStatus() { final Map<String, Object2LongOpenHashMap<String>> retVal = new HashMap<>(); if (segmentReplicantLookup == null) { return retVal; } final DateTime now = DateTimes.nowUtc(); for (final DataSegment segment : getAvailableDataSegments()) { final List<Rule> rules = metadataRuleManager.getRulesWithDefault(segment.getDataSource()); for (final Rule rule : rules) { if (!(rule instanceof LoadRule && rule.appliesTo(segment, now))) { continue; } ((LoadRule) rule) .getTieredReplicants() .forEach((final String tier, final Integer ruleReplicants) -> { int currentReplicants = segmentReplicantLookup.getLoadedReplicants(segment.getId(), tier); retVal .computeIfAbsent(tier, ignored -> new Object2LongOpenHashMap<>()) .addTo(segment.getDataSource(), Math.max(ruleReplicants - currentReplicants, 0)); }); break; // only the first matching rule applies } } return retVal; }
int missingRules = 0; for (DataSegment segment : paramsWithReplicationManager.getAvailableSegments()) { List<Rule> rules = databaseRuleManager.getRulesWithDefault(segment.getDataSource()); boolean foundMatchingRule = false; for (Rule rule : rules) {
EasyMock.expect(databaseRuleManager.getRulesWithDefault("dataSource1")) .andReturn(ImmutableList.of(loadRule, dropRule)) .once(); EasyMock.expect(databaseRuleManager.getRulesWithDefault("dataSource1")) .andReturn(ImmutableList.of(loadRule, dropRule)) .once(); EasyMock.expect(databaseRuleManager.getRulesWithDefault("dataSource1")) .andReturn(ImmutableList.of(loadRule, dropRule)) .once();
dataSegments.values().forEach(druidDataSources[0]::addSegment); EasyMock.expect(metadataRuleManager.getRulesWithDefault(EasyMock.anyString())) .andReturn(ImmutableList.of(hotTier, coldTier)).atLeastOnce(); EasyMock.expect(databaseSegmentManager.isStarted()).andReturn(true).anyTimes();
.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())) .andReturn( Collections.singletonList(
EasyMock.expect(metadataRuleManager.getRulesWithDefault(EasyMock.anyString())) .andReturn(ImmutableList.of(foreverLoadRule)).atLeastOnce();
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Collections.singletonList(new ForeverLoadRule(ImmutableMap.of(DruidServer.DEFAULT_TIER, 1)))).atLeastOnce(); EasyMock.replay(databaseRuleManager);
EasyMock.replay(emitter); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
EasyMock.replay(coordinator); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())) .andReturn( Collections.singletonList(
.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())) .andReturn( Collections.singletonList(new IntervalLoadRule(
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(
.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())) .andReturn( Collections.singletonList(new IntervalLoadRule(
mockEmptyPeon(); EasyMock.expect(databaseRuleManager.getRulesWithDefault(EasyMock.anyObject())).andReturn( Lists.newArrayList( new IntervalLoadRule(