@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 revokePermissions(String id) { checkNotNull(id, "id"); validateTable(); _dataStore.update( _tableName, id, TimeUUIDs.newUUID(), Deltas.delete(), new AuditBuilder().setLocalHost().setComment("delete permissions").build(), WriteConsistency.GLOBAL); }
@Override public void start() throws Exception { // Ensure the basic system tables exist. For the DataStore these will be bootstrap tables. for (String table : new String[] {_systemTable, _systemTableUuid, _systemTableUnPublishedDatabusEvents}) { TableOptions options = new TableOptionsBuilder().setPlacement(_systemTablePlacement).build(); Audit audit = new AuditBuilder().setComment("initial startup").setLocalHost().build(); _backingStore.createTable(table, options, ImmutableMap.<String, Object>of(), audit); } }
@Override public void start() throws Exception { // Ensure the basic system tables exist. For the DataStore these will be bootstrap tables. for (String table : new String[] {_systemTable, _systemTableUuid, _systemTableUnPublishedDatabusEvents}) { TableOptions options = new TableOptionsBuilder().setPlacement(_systemTablePlacement).build(); Audit audit = new AuditBuilder().setComment("initial startup").setLocalHost().build(); _backingStore.createTable(table, options, ImmutableMap.<String, Object>of(), audit); } }
@Override public void revokePermissions(String id) { checkNotNull(id, "id"); validateTable(); _dataStore.update( _tableName, id, TimeUUIDs.newUUID(), Deltas.delete(), new AuditBuilder().setLocalHost().setComment("delete permissions").build(), WriteConsistency.GLOBAL); }
private <T> void set(SettingMetadata<T> metadata, T value) { checkNotNull(value, "value"); Delta delta = Deltas.mapBuilder() .put(VALUE_ATTRIBUTE, JsonHelper.asJson(value)) .put(VERSION_ATTRIBUTE, CURRENT_SETTING_VERSION) .build(); // Write the delta to the store _dataStore.get().update(_settingsTable.get(), metadata.getName(), TimeUUIDs.newUUID(), delta, new AuditBuilder().setLocalHost().setComment("Updated setting").build(), WriteConsistency.GLOBAL); // Notify all instances that the setting value has changed _cacheHandle.invalidate(InvalidationScope.GLOBAL, metadata.getName()); }
private void write(JobIdentifier<?, ?> jobId, Delta delta, String comment) { _dataStore.update( getTableName(), jobId.toString(), TimeUUIDs.newUUID(), delta, new AuditBuilder().setLocalHost().setComment(comment).build(), WriteConsistency.STRONG ); } }
/** * 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 write(JobIdentifier<?, ?> jobId, Delta delta, String comment) { _dataStore.update( getTableName(), jobId.toString(), TimeUUIDs.newUUID(), delta, new AuditBuilder().setLocalHost().setComment(comment).build(), WriteConsistency.STRONG ); } }
/** * 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); }
public void setCompleteTime(String migrationId, Date completeTime) { _dataStore.update(getTable(), migrationId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("completeTime", Deltas.conditional(Conditions.isNull(), Deltas.literal(completeTime.getTime()))) .build(), new AuditBuilder().setLocalHost().setComment("Migration complete").build()); }
@Override public void setScanRangeTaskQueued(String scanId, int taskId, Date queuedTime) { _dataStore.update(getTable(), scanId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("ranges", Deltas.mapBuilder() .updateIfExists(toRangeKey(taskId), Deltas.mapBuilder() .putIfAbsent("queuedTime", queuedTime.getTime()) .build()) .build()) .build(), new AuditBuilder().setLocalHost().setComment("Scan range queued").build()); }
public void setMigratorRangeTaskActive(String migrationId, int taskId, Date startTime) { _dataStore.update(getTable(), migrationId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("ranges", Deltas.mapBuilder() .updateIfExists(toRangeKey(taskId), Deltas.mapBuilder() .putIfAbsent("startTime", startTime.getTime()) .build()) .build()) .build(), new AuditBuilder().setLocalHost().setComment("Migration range started").build()); }
public void setMigratorRangeTaskQueued(String migrationId, int taskId, Date queuedTime) { _dataStore.update(getTable(), migrationId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("ranges", Deltas.mapBuilder() .updateIfExists(toRangeKey(taskId), Deltas.mapBuilder() .putIfAbsent("queuedTime", queuedTime.getTime()) .build()) .build()) .build(), new AuditBuilder().setLocalHost().setComment("Migration range queued").build()); }
@Override public void setScanRangeTaskComplete(String scanId, int taskId, Date completeTime) { _dataStore.update(getTable(), scanId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("ranges", Deltas.mapBuilder() .updateIfExists(toRangeKey(taskId), Deltas.mapBuilder() .putIfAbsent("completeTime", completeTime.getTime()) .build()) .build()) .build(), new AuditBuilder().setLocalHost().setComment("Scan range complete").build()); }
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); }
@Override public void setCanceled(String scanId) { _dataStore.update(getTable(), scanId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("canceled", Deltas.conditional(Conditions.equal(false), Deltas.literal(true))) .build(), new AuditBuilder().setLocalHost().setComment("Canceling scan").build()); }
public void setTableSnapshotCreated(String scanId) { _dataStore.update(getTable(), scanId, TimeUUIDs.newUUID(), Deltas.mapBuilder() .update("tableSnapshotCreated", Deltas.conditional(Conditions.equal(false), Deltas.literal(true))) .build(), new AuditBuilder().setLocalHost().setComment("Table snapshot created").build()); }