/** * {@inheritDoc} */ @Override public void commit() throws IOException { recordManager.commit(); // And flush the journal BaseRecordManager baseRecordManager = null; if ( recordManager instanceof CacheRecordManager ) { baseRecordManager = ( ( BaseRecordManager ) ( ( CacheRecordManager ) recordManager ).getRecordManager() ); } else { baseRecordManager = ( ( BaseRecordManager ) recordManager ); } if ( syncOnWrite ) { baseRecordManager.getTransactionManager().synchronizeLog(); } }
baseRecordManager.getTransactionManager().synchronizeLog();
TransactionManager transactionManager = base.getTransactionManager(); transactionManager.setMaximumTransactionsInLog( 2000 );
/** * Creates a new instance of EventLog for a replica * * @param partitionTxn The Transaction to use * @param directoryService The DirectoryService instance * @param replicaId The replica ID * @throws IOException if we weren't able to log the event */ public ReplicaEventLog( PartitionTxn partitionTxn, DirectoryService directoryService, int replicaId ) throws IOException { PROVIDER_LOG.debug( "Creating the replication queue for replica {}", replicaId ); SchemaManager schemaManager = directoryService.getSchemaManager(); this.replicaId = replicaId; this.searchCriteria = new NotificationCriteria( schemaManager ); this.searchCriteria.setEventMask( EventType.ALL_EVENT_TYPES_MASK ); // Create the journal file, or open if already exists File replDir = directoryService.getInstanceLayout().getReplDirectory(); journalFile = new File( replDir, REPLICA_EVENT_LOG_NAME_PREFIX + replicaId ); recman = new BaseRecordManager( journalFile.getAbsolutePath() ); TransactionManager transactionManager = ( ( BaseRecordManager ) recman ).getTransactionManager(); transactionManager.setMaximumTransactionsInLog( 200 ); SerializableComparator<String> comparator = new SerializableComparator<>( SchemaConstants.CSN_ORDERING_MATCH_MR_OID ); comparator.setSchemaManager( schemaManager ); journal = new JdbmTable<>( schemaManager, journalFile.getName(), recman, comparator, StringSerializer.INSTANCE, new ReplicaEventMessageSerializer( schemaManager ) ); this.partitionTxn = partitionTxn; }
TransactionManager transactionManager = base.getTransactionManager(); transactionManager.setMaximumTransactionsInLog( 2000 );