public void wrap(IndexedRecord persistedWorkflowInstanceRecord) { this.persistedWorkflowInstanceRecord = persistedWorkflowInstanceRecord; recordMetadata.intent(persistedWorkflowInstanceRecord.getState()); }
public FluentLogWriter intent(final Intent intent) { this.metadata.intent(intent); return this; }
public FluentLogWriter intent(final Intent intent) { this.metadata.intent(intent); return this; }
public void wrap(IndexedRecord persistedWorkflowInstanceRecord) { this.persistedWorkflowInstanceRecord = persistedWorkflowInstanceRecord; recordMetadata.intent(persistedWorkflowInstanceRecord.getState()); }
protected void initMetadata( final RecordType type, final Intent intent, final UnpackedObject value) { metadata.reset(); final ValueType valueType = typeRegistry.get(value.getClass()); if (valueType == null) { // usually happens when the record is not registered at the TypedStreamEnvironment throw new RuntimeException("Missing value type mapping for record: " + value.getClass()); } metadata.recordType(type); metadata.valueType(valueType); metadata.intent(intent); }
protected void initMetadata( final RecordType type, final Intent intent, final UnpackedObject value) { metadata.reset(); final ValueType valueType = typeRegistry.get(value.getClass()); if (valueType == null) { // usually happens when the record is not registered at the TypedStreamEnvironment throw new RuntimeException("Missing value type mapping for record: " + value.getClass()); } metadata.recordType(type); metadata.valueType(valueType); metadata.intent(intent); }
private TypedRecord<WorkflowInstanceRecord> mockTypedRecord(long key) { final WorkflowInstanceRecord workflowInstanceRecord = createWorkflowInstanceRecord(); final TypedRecord<WorkflowInstanceRecord> typedRecord = mock(TypedRecord.class); when(typedRecord.getKey()).thenReturn(key); when(typedRecord.getValue()).thenReturn(workflowInstanceRecord); final RecordMetadata metadata = new RecordMetadata(); metadata.intent(WorkflowInstanceIntent.ELEMENT_ACTIVATED); when(typedRecord.getMetadata()).thenReturn(metadata); return typedRecord; }
private TypedRecord<WorkflowInstanceRecord> mockTypedRecord(long key, long parentKey) { final WorkflowInstanceRecord workflowInstanceRecord = createWorkflowInstanceRecord(parentKey); final TypedRecord<WorkflowInstanceRecord> typedRecord = mock(TypedRecord.class); when(typedRecord.getKey()).thenReturn(key); when(typedRecord.getValue()).thenReturn(workflowInstanceRecord); final RecordMetadata metadata = new RecordMetadata(); metadata.intent(WorkflowInstanceIntent.ELEMENT_ACTIVATED); when(typedRecord.getMetadata()).thenReturn(metadata); return typedRecord; }
private TypedRecord<WorkflowInstanceRecord> mockTypedRecord(long key, long parentKey) { final WorkflowInstanceRecord workflowInstanceRecord = createWorkflowInstanceRecord(parentKey); final TypedRecord<WorkflowInstanceRecord> typedRecord = mock(TypedRecord.class); when(typedRecord.getKey()).thenReturn(key); when(typedRecord.getValue()).thenReturn(workflowInstanceRecord); final RecordMetadata metadata = new RecordMetadata(); metadata.intent(WorkflowInstanceIntent.ELEMENT_ACTIVATED); when(typedRecord.getMetadata()).thenReturn(metadata); return typedRecord; }
private TypedRecord<WorkflowInstanceRecord> mockTypedRecord(long key) { final WorkflowInstanceRecord workflowInstanceRecord = createWorkflowInstanceRecord(); final TypedRecord<WorkflowInstanceRecord> typedRecord = mock(TypedRecord.class); when(typedRecord.getKey()).thenReturn(key); when(typedRecord.getValue()).thenReturn(workflowInstanceRecord); final RecordMetadata metadata = new RecordMetadata(); metadata.intent(WorkflowInstanceIntent.ELEMENT_ACTIVATED); when(typedRecord.getMetadata()).thenReturn(metadata); return typedRecord; }
@Override public long writeEvent(LogStreamRecordWriter writer) { if (shouldCommitPositions()) { final ExporterRecord record = state.newExporterRecord(); rawMetadata .reset() .recordType(RecordType.EVENT) .valueType(ValueType.EXPORTER) .intent(ExporterIntent.EXPORTED); return writer.positionAsKey().valueWriter(record).metadataWriter(rawMetadata).tryWrite(); } return 0; } }
private boolean writeCreatingDeployment( final Partition partition, final long key, final UnpackedObject event) { final RecordType recordType = RecordType.COMMAND; final ValueType valueType = ValueType.DEPLOYMENT; final Intent intent = DeploymentIntent.CREATE; logStreamWriter.wrap(partition.getLogStream()); recordMetadata.reset().recordType(recordType).valueType(valueType).intent(intent); final long position = logStreamWriter.key(key).metadataWriter(recordMetadata).valueWriter(event).tryWrite(); return position > 0; } }
@Override public long writeEvent(LogStreamRecordWriter writer) { if (shouldCommitPositions()) { final ExporterRecord record = state.newExporterRecord(); rawMetadata .reset() .recordType(RecordType.EVENT) .valueType(ValueType.EXPORTER) .intent(ExporterIntent.EXPORTED); return writer.positionAsKey().valueWriter(record).metadataWriter(rawMetadata).tryWrite(); } return 0; } }
private boolean writeCreatingDeployment( final Partition partition, final long key, final UnpackedObject event) { final RecordType recordType = RecordType.COMMAND; final ValueType valueType = ValueType.DEPLOYMENT; final Intent intent = DeploymentIntent.CREATE; logStreamWriter.wrap(partition.getLogStream()); recordMetadata.reset().recordType(recordType).valueType(valueType).intent(intent); final long position = logStreamWriter.key(key).metadataWriter(recordMetadata).valueWriter(event).tryWrite(); return position > 0; } }
private boolean writeCommand( int partitionId, ValueType valueType, Intent intent, UnpackedObject command) { final Partition partition = leaderPartitions.get(partitionId); if (partition == null) { // ignore message if you are not the leader of the partition return true; } logStreamWriter.wrap(partition.getLogStream()); recordMetadata.reset().recordType(RecordType.COMMAND).valueType(valueType).intent(intent); final long position = logStreamWriter .positionAsKey() .metadataWriter(recordMetadata) .valueWriter(command) .tryWrite(); return position > 0; } }
private boolean writeCommand( int partitionId, ValueType valueType, Intent intent, UnpackedObject command) { final Partition partition = leaderPartitions.get(partitionId); if (partition == null) { // ignore message if you are not the leader of the partition return true; } logStreamWriter.wrap(partition.getLogStream()); recordMetadata.reset().recordType(RecordType.COMMAND).valueType(valueType).intent(intent); final long position = logStreamWriter .positionAsKey() .metadataWriter(recordMetadata) .valueWriter(command) .tryWrite(); return position > 0; } }
public long tryWrite(final Raft raft) { logStreamWriter.wrap(raft.getLogStream()); metadata.reset().valueType(ValueType.RAFT).recordType(RecordType.EVENT).intent(intent); configuration.reset(); final ValueArray<RaftConfigurationEventMember> configurationMembers = configuration.members(); // add self also to configuration configurationMembers.add().setNodeId(raft.getNodeId()); final List<RaftMember> memberList = raft.getRaftMembers().getMemberList(); for (final RaftMember member : memberList) { configurationMembers.add().setNodeId(member.getNodeId()); } return logStreamWriter .positionAsKey() .metadataWriter(metadata) .valueWriter(configuration) .tryWrite(); } }
final RecordMetadata recordMetadata = new RecordMetadata(); recordMetadata .intent(DeploymentIntent.DISTRIBUTED) .valueType(ValueType.DEPLOYMENT) .recordType(RecordType.EVENT);
public long tryWrite(final Raft raft) { logStreamWriter.wrap(raft.getLogStream()); metadata.reset().valueType(ValueType.RAFT).recordType(RecordType.EVENT).intent(intent); configuration.reset(); final ValueArray<RaftConfigurationEventMember> configurationMembers = configuration.members(); // add self also to configuration configurationMembers.add().setNodeId(raft.getNodeId()); final List<RaftMember> memberList = raft.getRaftMembers().getMemberList(); for (final RaftMember member : memberList) { configurationMembers.add().setNodeId(member.getNodeId()); } return logStreamWriter .positionAsKey() .metadataWriter(metadata) .valueWriter(configuration) .tryWrite(); } }
final RecordMetadata recordMetadata = new RecordMetadata(); recordMetadata .intent(DeploymentIntent.DISTRIBUTED) .valueType(ValueType.DEPLOYMENT) .recordType(RecordType.EVENT);