Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[improve][txn] PIP-160: Transaction log store enables the batch feature #16685

Merged
merged 1 commit into from
Jul 22, 2022

Conversation

poorbarcode
Copy link
Contributor

Master Issue: #15370

Motivation

see #15370

Modifications

I will complete proposal #15370 with these pull requests( current pull request is the step-3 ):

  1. Write the batch transaction log handler: TxnLogBufferedWriter
  2. Configuration changes and protocol changes.
  3. Transaction log store enables the batch feature.
  4. Pending ack log store enables the batch feature.
  5. Supports dynamic configuration.
  6. Append admin API for transaction batch log and docs( admin and configuration doc ).
  7. Append metrics support for transaction batch log.

Documentation

  • doc-required

  • doc-not-needed

  • doc

  • doc-complete

@github-actions github-actions bot added the doc-not-needed Your PR changes do not impact docs label Jul 19, 2022
@codelipenghui codelipenghui added this to the 2.11.0 milestone Jul 20, 2022
@codelipenghui codelipenghui added type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages area/transaction labels Jul 20, 2022
@codelipenghui codelipenghui changed the title [improve] [txn] [PIP-160] Transaction log store enables the batch feature [improve] [txn] PIP-160: Transaction log store enables the batch feature Jul 20, 2022
@codelipenghui codelipenghui changed the title [improve] [txn] PIP-160: Transaction log store enables the batch feature [improve][txn] PIP-160: Transaction log store enables the batch feature Jul 20, 2022
MLTransactionLogImpl mlTransactionLog = new MLTransactionLogImpl(TransactionCoordinatorID.get(0),
pulsar.getManagedLedgerFactory(), managedLedgerConfig, txnLogBufferedWriterConfig,
scheduledExecutorService);
mlTransactionLog.initialize().join();
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's better to add a timeout on the method or here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good idea. Already fixed

@@ -55,12 +60,19 @@

public class MLTransactionMetadataStoreTest extends MockedBookKeeperTestCase {

private ScheduledExecutorService scheduledExecutorService = Executors.newScheduledThreadPool(3);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

  1. It's better to add a single test that adds batch transaction log and then can open a new cursor for the transaction log managedLedger and read the batch log. then the TransactionCoordinator can recover successfully
  2. add a test for the log delete

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Already fixed, it is MLTransactionLogImplTest

Copy link
Contributor

@codelipenghui codelipenghui left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Looks good to me, just left some minor comments.

@poorbarcode
Copy link
Contributor Author

/pulsarbot run-failure-checks

1 similar comment
@poorbarcode
Copy link
Contributor Author

/pulsarbot run-failure-checks

@congbobo184 congbobo184 merged commit 4d16ad5 into apache:master Jul 22, 2022
@poorbarcode poorbarcode deleted the pip/160-7 branch September 17, 2022 02:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/transaction doc-not-needed Your PR changes do not impact docs type/enhancement The enhancements for the existing features or docs. e.g. reduce memory usage of the delayed messages
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants