@Override public int compareTo(SegmentZNode segmentZNode) { return path.compareTo(segmentZNode.getPath()); } }
public void removeSegment(DataSegment segment) { Set<DataSegment> zkSegments = getSegments(); zkSegments.remove(segment); try { bytes = jsonMapper.writeValueAsBytes(zkSegments); } catch (Exception e) { zkSegments.add(segment); throw Throwables.propagate(e); } count--; }
while (iter.hasNext() && !done) { SegmentZNode availableZNode = iter.next(); if (availableZNode.getBytes().length + newBytesLen < config.getMaxBytesPerNode()) { availableZNode.addSegment(toAnnounce); availableZNode.getPath() ); announcer.update(availableZNode.getPath(), availableZNode.getBytes()); segmentLookup.put(toAnnounce, availableZNode); if (availableZNode.getCount() >= config.getSegmentsPerNode()) { availableZNodes.remove(availableZNode); SegmentZNode availableZNode = new SegmentZNode(makeServedSegmentPath()); availableZNode.addSegment(toAnnounce); log.info("Announcing segment[%s] at new path[%s]", toAnnounce.getIdentifier(), availableZNode.getPath()); announcer.announce(availableZNode.getPath(), availableZNode.getBytes()); segmentLookup.put(toAnnounce, availableZNode); availableZNodes.add(availableZNode);
@Override public void announceSegments(Iterable<DataSegment> segments) throws IOException SegmentZNode segmentZNode = new SegmentZNode(makeServedSegmentPath()); Set<DataSegment> batch = Sets.newHashSet(); List<DataSegmentChangeRequest> changesBatch = new ArrayList<>(); segmentZNode.addSegments(batch); announcer.announce(segmentZNode.getPath(), segmentZNode.getBytes()); segmentZNode = new SegmentZNode(makeServedSegmentPath()); batch = Sets.newHashSet(); count = 0; log.info("Announcing segment[%s] at path[%s]", segment.getIdentifier(), segmentZNode.getPath()); segmentLookup.put(segment, segmentZNode); batch.add(segment); segmentZNode.addSegments(batch); announcer.announce(segmentZNode.getPath(), segmentZNode.getBytes());
dummyZnode = new SegmentZNode("PLACE_HOLDER_ONLY"); } else { dummyZnode = null;
@Override public void unannounceSegment(DataSegment segment) { synchronized (lock) { final SegmentZNode segmentZNode = segmentLookup.remove(segment); if (segmentZNode == null) { log.warn("No path to unannounce segment[%s]", segment.getIdentifier()); return; } changes.addChangeRequest(new SegmentChangeRequestDrop(segment)); if (config.isSkipSegmentAnnouncementOnZk()) { return; } segmentZNode.removeSegment(segment); log.info("Unannouncing segment[%s] at path[%s]", segment.getIdentifier(), segmentZNode.getPath()); if (segmentZNode.getCount() == 0) { availableZNodes.remove(segmentZNode); announcer.unannounce(segmentZNode.getPath()); } else { announcer.update(segmentZNode.getPath(), segmentZNode.getBytes()); availableZNodes.add(segmentZNode); } } }
public void removeSegment(DataSegment segment) { Set<DataSegment> zkSegments = getSegments(); zkSegments.remove(segment); try { bytes = jsonMapper.writeValueAsBytes(zkSegments); } catch (Exception e) { zkSegments.add(segment); throw Throwables.propagate(e); } count--; }
public void addSegment(DataSegment segment) { Set<DataSegment> zkSegments = getSegments(); zkSegments.add(segment); try { bytes = jsonMapper.writeValueAsBytes(zkSegments); } catch (Exception e) { zkSegments.remove(segment); throw Throwables.propagate(e); } count++; }
public void addSegments(Set<DataSegment> segments) { Set<DataSegment> zkSegments = getSegments(); zkSegments.addAll(segments); try { bytes = jsonMapper.writeValueAsBytes(zkSegments); } catch (Exception e) { zkSegments.removeAll(segments); throw Throwables.propagate(e); } count += segments.size(); }
@Override public int compareTo(SegmentZNode segmentZNode) { return path.compareTo(segmentZNode.getPath()); } }
while (iter.hasNext() && !done) { SegmentZNode availableZNode = iter.next(); if (availableZNode.getBytes().length + newBytesLen < config.getMaxBytesPerNode()) { availableZNode.addSegment(toAnnounce); availableZNode.getPath() ); announcer.update(availableZNode.getPath(), availableZNode.getBytes()); segmentLookup.put(toAnnounce, availableZNode); if (availableZNode.getCount() >= config.getSegmentsPerNode()) { availableZNodes.remove(availableZNode); SegmentZNode availableZNode = new SegmentZNode(makeServedSegmentPath()); availableZNode.addSegment(toAnnounce); log.info("Announcing segment[%s] at new path[%s]", toAnnounce.getId(), availableZNode.getPath()); announcer.announce(availableZNode.getPath(), availableZNode.getBytes()); segmentLookup.put(toAnnounce, availableZNode); availableZNodes.add(availableZNode);
@Override public void announceSegments(Iterable<DataSegment> segments) throws IOException SegmentZNode segmentZNode = new SegmentZNode(makeServedSegmentPath()); Set<DataSegment> batch = new HashSet<>(); List<DataSegmentChangeRequest> changesBatch = new ArrayList<>(); segmentZNode.addSegments(batch); announcer.announce(segmentZNode.getPath(), segmentZNode.getBytes()); segmentZNode = new SegmentZNode(makeServedSegmentPath()); batch = new HashSet<>(); count = 0; log.info("Announcing segment[%s] at path[%s]", segment.getId(), segmentZNode.getPath()); segmentLookup.put(segment, segmentZNode); batch.add(segment); segmentZNode.addSegments(batch); announcer.announce(segmentZNode.getPath(), segmentZNode.getBytes());
dummyZnode = new SegmentZNode("PLACE_HOLDER_ONLY"); } else { dummyZnode = null;
@Override public void unannounceSegment(DataSegment segment) { synchronized (lock) { final SegmentZNode segmentZNode = segmentLookup.remove(segment); if (segmentZNode == null) { log.warn("No path to unannounce segment[%s]", segment.getId()); return; } changes.addChangeRequest(new SegmentChangeRequestDrop(segment)); if (config.isSkipSegmentAnnouncementOnZk()) { return; } segmentZNode.removeSegment(segment); log.info("Unannouncing segment[%s] at path[%s]", segment.getId(), segmentZNode.getPath()); if (segmentZNode.getCount() == 0) { availableZNodes.remove(segmentZNode); announcer.unannounce(segmentZNode.getPath()); } else { announcer.update(segmentZNode.getPath(), segmentZNode.getBytes()); availableZNodes.add(segmentZNode); } } }
public void addSegment(DataSegment segment) { Set<DataSegment> zkSegments = getSegments(); zkSegments.add(segment); try { bytes = jsonMapper.writeValueAsBytes(zkSegments); } catch (Exception e) { zkSegments.remove(segment); throw Throwables.propagate(e); } count++; }
public void addSegments(Set<DataSegment> segments) { Set<DataSegment> zkSegments = getSegments(); zkSegments.addAll(segments); try { bytes = jsonMapper.writeValueAsBytes(zkSegments); } catch (Exception e) { zkSegments.removeAll(segments); throw Throwables.propagate(e); } count += segments.size(); }