public AuditBuilder setComment(String comment) { return set(Audit.COMMENT, comment); }
@Override public void requestStash(String scanId, StashRequest request) { checkNotNull(scanId, "scanId"); checkNotNull(request, "request"); _dataStore.update(getTable(), scanId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("requests", Deltas.mapBuilder() .update(request.getRequestedBy(), Deltas.literal(JsonHelper.convert(request.getRequestTime(), String.class))) .build()) .build(), new AuditBuilder().setComment("Added scan request").set("requestedBy", request.getRequestedBy()).build()); }
public AuditBuilder setProgram(String program) { return set(Audit.PROGRAM, program); }
public AuditBuilder setUser(String user) { return set(Audit.USER, user); } }
public AuditBuilder setUser(String user) { return set(Audit.USER, user); } }
public AuditBuilder setHost(String host) { return set(Audit.HOST, host); }
/** * Cancel a move before mirror promotion has taken place. */ private void moveCancel(TableJson json, Storage src, Storage dest) { Delta delta = json.newMoveCancel(src); Audit audit = new AuditBuilder() .set("_op", "doMoveCancel") .set("_srcUuid", src.getUuidString()) .set("_srcPlacement", src.getPlacement()) .set("_destUuid", dest.getUuidString()) .set("_destPlacement", dest.getPlacement()) .build(); updateTableMetadata(json.getTable(), delta, audit, InvalidationScope.GLOBAL); }
/** * Restart a move with an existing mirror that may or may not have once been primary. */ private void moveRestart(TableJson json, Storage src, Storage dest) { Delta delta = json.newMoveRestart(src, dest); Audit audit = new AuditBuilder() .set("_op", "doMoveRestart") .set("_srcUuid", src.getUuidString()) .set("_srcPlacement", src.getPlacement()) .set("_destUuid", dest.getUuidString()) .set("_destPlacement", dest.getPlacement()) .build(); updateTableMetadata(json.getTable(), delta, audit, InvalidationScope.GLOBAL); }
private void stateTransition(TableJson json, String storageUuid, String storagePlacement, StorageState from, StorageState to, Instant markerValue, InvalidationScope scope) { _log.info("State transition for table '{}' and storage '{}' from={} to={}.", json.getTable(), storageUuid, from, to); Delta delta = json.newNextState(storageUuid, to, markerValue); Audit audit = new AuditBuilder() .set("_op", describeTransition(from, to)) .set("_uuid", storageUuid) .set("_placement", storagePlacement) .build(); updateTableMetadata(json.getTable(), delta, audit, scope); }
private void stateTransition(TableJson json, String storageUuid, String storagePlacement, StorageState from, StorageState to, Instant markerValue, InvalidationScope scope) { _log.info("State transition for table '{}' and storage '{}' from={} to={}.", json.getTable(), storageUuid, from, to); Delta delta = json.newNextState(storageUuid, to, markerValue); Audit audit = new AuditBuilder() .set("_op", describeTransition(from, to)) .set("_uuid", storageUuid) .set("_placement", storagePlacement) .build(); updateTableMetadata(json.getTable(), delta, audit, scope); }
private void movePromote(TableJson json, Storage mirror) { // write about the move operation (metadata changed info) to another system table. writeUnpublishedDatabusEvent(json.getTable(), UnpublishedDatabusEventType.MOVE_PLACEMENT); // Mark the mirror as promoted so servers will pick it as the new primary. Delta delta = json.newMovePromoteMirror(mirror); Audit audit = new AuditBuilder() .set("_op", "doPromoteMirror") .set("_uuid", mirror.getUuidString()) .set("_placement", mirror.getPlacement()) .build(); updateTableMetadata(json.getTable(), delta, audit, InvalidationScope.GLOBAL); }
/** * Last step in dropping a table or facade. */ private void deleteFinal(TableJson json, Storage storage) { // Remove the uuid and storage--we no longer need it. Leave the uuid in _systemTableUuid so it isn't reused. Delta delta = json.newDeleteStorage(storage); Audit audit = new AuditBuilder() .set("_op", "doDeleteFinal") .set("_uuid", storage.getUuidString()) .build(); updateTableMetadata(json.getTable(), delta, audit, InvalidationScope.LOCAL); }
private void movePromote(TableJson json, Storage mirror) { // write about the move operation (metadata changed info) to another system table. writeUnpublishedDatabusEvent(json.getTable(), UnpublishedDatabusEventType.MOVE_PLACEMENT); // Mark the mirror as promoted so servers will pick it as the new primary. Delta delta = json.newMovePromoteMirror(mirror); Audit audit = new AuditBuilder() .set("_op", "doPromoteMirror") .set("_uuid", mirror.getUuidString()) .set("_placement", mirror.getPlacement()) .build(); updateTableMetadata(json.getTable(), delta, audit, InvalidationScope.GLOBAL); }
/** * Last step in dropping a table or facade. */ private void deleteFinal(TableJson json, Storage storage) { // Remove the uuid and storage--we no longer need it. Leave the uuid in _systemTableUuid so it isn't reused. Delta delta = json.newDeleteStorage(storage); Audit audit = new AuditBuilder() .set("_op", "doDeleteFinal") .set("_uuid", storage.getUuidString()) .build(); updateTableMetadata(json.getTable(), delta, audit, InvalidationScope.LOCAL); }
@Timed (name = "bv.emodb.table.AstyanaxTableDAO.audit", absolute = true) @Override public void audit(String name, String op, Audit audit) { checkNotNull(name, "table"); checkNotNull(audit, "audit"); checkTableChangesAllowed(name); Audit augmentedAudit = AuditBuilder.from(audit) .set("_op", op) .build(); updateTableMetadata(name, Deltas.noop(), augmentedAudit, null); }
@Timed (name = "bv.emodb.table.AstyanaxTableDAO.audit", absolute = true) @Override public void audit(String name, String op, Audit audit) { checkNotNull(name, "table"); checkNotNull(audit, "audit"); checkTableChangesAllowed(name); Audit augmentedAudit = AuditBuilder.from(audit) .set("_op", op) .build(); updateTableMetadata(name, Deltas.noop(), augmentedAudit, null); }
@Override public void writeUnpublishedDatabusEvent(String name, UnpublishedDatabusEventType attribute) { checkNotNull(name, "table"); ZonedDateTime dateTime = ZonedDateTime.ofInstant(_clock.instant(), ZoneOffset.UTC); String date = dateTime.toLocalDate().toString(); Delta delta = newUnpublishedDatabusEventUpdate(name, attribute.toString(), dateTime.toString()); Audit augmentedAudit = new AuditBuilder() .set("_unpublished-databus-event-update", attribute.toString()) .build(); writEventToSystemTable(date, delta, augmentedAudit); }
@Override public void writeUnpublishedDatabusEvent(String name, UnpublishedDatabusEventType attribute) { checkNotNull(name, "table"); ZonedDateTime dateTime = ZonedDateTime.ofInstant(_clock.instant(), ZoneOffset.UTC); String date = dateTime.toLocalDate().toString(); Delta delta = newUnpublishedDatabusEventUpdate(name, attribute.toString(), dateTime.toString()); Audit augmentedAudit = new AuditBuilder() .set("_unpublished-databus-event-update", attribute.toString()) .build(); writEventToSystemTable(date, delta, augmentedAudit); }
private void copyData(TableJson json, Storage src, Storage dest, Runnable progress) { // Cap the # of writes-per-second to avoid saturating the cluster. Runnable rateLimitedProgress = rateLimited(_placementCache.get(dest.getPlacement()), progress); _log.info("Moving data for table '{}' and table uuid '{}' (facade={}) from {} to {}.", json.getTable(), src.getUuidString(), src.isFacade(), src.getPlacement(), dest.getPlacement()); audit(json.getTable(), "doCopyData", new AuditBuilder() .set("_uuid", src.getUuidString()) .set("_placement", src.getPlacement()) .set("_destUuid", dest.getUuidString()) .set("_destPlacement", dest.getPlacement()) .build()); _dataCopyDAO.copy(newAstyanaxStorage(src, json.getTable()), newAstyanaxStorage(dest, json.getTable()), rateLimitedProgress); }
private void copyData(TableJson json, Storage src, Storage dest, Runnable progress) { // Cap the # of writes-per-second to avoid saturating the cluster. Runnable rateLimitedProgress = rateLimited(_placementCache.get(dest.getPlacement()), progress); _log.info("Moving data for table '{}' and table uuid '{}' (facade={}) from {} to {}.", json.getTable(), src.getUuidString(), src.isFacade(), src.getPlacement(), dest.getPlacement()); audit(json.getTable(), "doCopyData", new AuditBuilder() .set("_uuid", src.getUuidString()) .set("_placement", src.getPlacement()) .set("_destUuid", dest.getUuidString()) .set("_destPlacement", dest.getPlacement()) .build()); _dataCopyDAO.copy(newAstyanaxStorage(src, json.getTable()), newAstyanaxStorage(dest, json.getTable()), rateLimitedProgress); }