public void inserted(ObjectId object, @Nullable Integer storageSizeBytes) { target.inserted(object, storageSizeBytes); }
public void inserted(ObjectId object, @Nullable Integer storageSizeBytes) { target.inserted(object, storageSizeBytes); }
static int notifyInserted(Map<EncodedObject, Boolean> insertResults, BulkOpListener listener) { int newObjects = 0; for (Entry<EncodedObject, Boolean> entry : insertResults.entrySet()) { EncodedObject object = entry.getKey(); ObjectId id = object.id(); boolean inserted = entry.getValue().booleanValue(); if (inserted) { listener.inserted(id, null); newObjects++; } else { listener.found(id, null); } } return newObjects; }
static int notifyInserted(Map<EncodedObject, Boolean> insertResults, BulkOpListener listener) { int newObjects = 0; for (Entry<EncodedObject, Boolean> entry : insertResults.entrySet()) { EncodedObject object = entry.getKey(); ObjectId id = object.id(); boolean inserted = entry.getValue().booleanValue(); if (inserted) { listener.inserted(id, null); newObjects++; } else { listener.found(id, null); } } return newObjects; }
@Override public void run() { if (cancelCondition.get()) { return; } BulkWriteResult bulkResult = bulkOperation.execute(WriteConcern.ACKNOWLEDGED); List<BulkWriteUpsert> upserts = bulkResult.getUpserts(); for (BulkWriteUpsert upsert : upserts) { if (cancelCondition.get()) { return; } int index = upsert.getIndex(); ObjectId existing = ids.set(index, null); listener.found(existing, null); } for (ObjectId inserted : ids) { if (cancelCondition.get()) { return; } if (inserted != null) { listener.inserted(inserted, null); } } ids.clear(); }
/** * This default implementation calls {@link #putInternal(ObjectId, byte[])} for each object; * subclasses may override if appropriate. */ @Override public void putAll(Iterator<? extends RevObject> objects, final BulkOpListener listener) { checkNotNull(objects, "objects is null"); checkNotNull(listener, "listener is null"); checkState(isOpen(), "db is closed"); ByteArrayOutputStream rawOut = new ByteArrayOutputStream(); while (objects.hasNext()) { RevObject object = objects.next(); rawOut.reset(); writeObject(object, rawOut); final byte[] rawData = rawOut.toByteArray(); final ObjectId id = object.getId(); final boolean added = putInternal(id, rawData); if (added) { listener.inserted(object.getId(), rawData.length); } else { listener.found(object.getId(), null); } } }
/** * This default implementation calls {@link #putInternal(ObjectId, byte[])} for each object; * subclasses may override if appropriate. */ @Override public void putAll(Iterator<? extends RevObject> objects, final BulkOpListener listener) { checkNotNull(objects, "objects is null"); checkNotNull(listener, "listener is null"); checkState(isOpen(), "db is closed"); ByteArrayOutputStream rawOut = new ByteArrayOutputStream(); while (objects.hasNext()) { RevObject object = objects.next(); rawOut.reset(); writeObject(object, rawOut); final byte[] rawData = rawOut.toByteArray(); final ObjectId id = object.getId(); final boolean added = putInternal(id, rawData); if (added) { listener.inserted(object.getId(), rawData.length); } else { listener.found(object.getId(), null); } } }
private int insertBatch(Iterator<EncodedObject> objects, BulkOpListener listener) { final byte[] keybuff = new byte[ObjectId.NUM_BYTES]; Set<ObjectId> insertedIds = new HashSet<>(); try (RocksDBReference dbRef = dbhandle.getReference(); WriteOptions wo = new WriteOptions(); // WriteBatch batch = new WriteBatch()) { wo.setSync(true); while (objects.hasNext()) { EncodedObject object = objects.next(); final ObjectId id = object.id; id.getRawValue(keybuff); final byte[] value = object.serialform; batch.put(keybuff, value); insertedIds.add(id); } dbRef.db().write(wo, batch); // need to notify listener once the objects are actually on the db insertedIds.forEach((id) -> listener.inserted(id, null)); } catch (RocksDBException e) { throw new RuntimeException(e); } return insertedIds.size(); }
private int insertBatch(Iterator<EncodedObject> objects, BulkOpListener listener) { final byte[] keybuff = new byte[ObjectId.NUM_BYTES]; Set<ObjectId> insertedIds = new HashSet<>(); try (RocksDBReference dbRef = dbhandle.getReference(); WriteOptions wo = new WriteOptions(); // WriteBatch batch = new WriteBatch()) { wo.setSync(true); while (objects.hasNext()) { EncodedObject object = objects.next(); final ObjectId id = object.id; id.getRawValue(keybuff); final byte[] value = object.serialform; batch.put(keybuff, value); insertedIds.add(id); } dbRef.db().write(wo, batch); // need to notify listener once the objects are actually on the db insertedIds.forEach((id) -> listener.inserted(id, null)); } catch (RocksDBException e) { throw Throwables.propagate(e); } return insertedIds.size(); }
listener.inserted(objectId, size); } else if (OperationStatus.KEYEXIST.equals(status)) { listener.found(objectId, null);
public @Override void putAll(Iterator<? extends RevObject> objects, final BulkOpListener listener) { checkNotNull(objects, "objects is null"); checkNotNull(listener, "listener is null"); checkState(isOpen(), "db is closed"); objects.forEachRemaining((o) -> { if (put(o)) { listener.inserted(o.getId(), null); } else { listener.found(o.getId(), null); } }); }
public @Override void putAll(Iterator<? extends RevObject> objects, final BulkOpListener listener) { checkNotNull(objects, "objects is null"); checkNotNull(listener, "listener is null"); checkState(isOpen(), "db is closed"); objects.forEachRemaining((o) -> { if (put(o)) { listener.inserted(o.getId(), null); } else { listener.found(o.getId(), null); } }); }
public @Override void putAll(Iterator<? extends RevObject> objects, BulkOpListener listener) { checkNotNull(objects, "objects is null"); checkNotNull(listener, "listener is null"); checkState(isOpen(), "db is closed"); checkWritable(); final int characteristics = IMMUTABLE | NONNULL | DISTINCT; Stream<? extends RevObject> stream; stream = StreamSupport.stream(spliteratorUnknownSize(objects, characteristics), true); stream.forEach((o) -> { if (put(o)) { listener.inserted(o.getId(), null); } else { listener.found(o.getId(), null); } }); }
public @Override void putAll(Iterator<? extends RevObject> objects, BulkOpListener listener) { checkNotNull(objects, "objects is null"); checkNotNull(listener, "listener is null"); checkState(isOpen(), "db is closed"); checkWritable(); final int characteristics = IMMUTABLE | NONNULL | DISTINCT; Stream<? extends RevObject> stream; stream = StreamSupport.stream(spliteratorUnknownSize(objects, characteristics), true); stream.forEach((o) -> { if (put(o)) { listener.inserted(o.getId(), null); } else { listener.found(o.getId(), null); } }); }
@Test public void testCompositeListenerWithNoOp() { CountingListener countingListener = BulkOpListener.newCountingListener(); BulkOpListener listener = BulkOpListener.composite(countingListener, BulkOpListener.NOOP_LISTENER); assertEquals(countingListener, listener); listener = BulkOpListener.composite(BulkOpListener.NOOP_LISTENER, countingListener); assertEquals(countingListener, listener); listener = BulkOpListener.composite(BulkOpListener.NOOP_LISTENER, BulkOpListener.NOOP_LISTENER); assertEquals(BulkOpListener.NOOP_LISTENER, listener); listener.found(ObjectId.NULL, 0); listener.deleted(ObjectId.NULL); listener.inserted(ObjectId.NULL, 0); listener.notFound(ObjectId.NULL); }