Skip to content

Comments

C++ integration test#352

Open
leekeiabstraction wants to merge 3 commits intoapache:mainfrom
leekeiabstraction:cpp-integration-test
Open

C++ integration test#352
leekeiabstraction wants to merge 3 commits intoapache:mainfrom
leekeiabstraction:cpp-integration-test

Conversation

@leekeiabstraction
Copy link
Contributor

Purpose

Linked issue: close #338

Brief change log

  • Add C++ client integration tests
  • Update CI to trigger CI test more selectively

@leekeiabstraction
Copy link
Contributor Author

@fresh-borzoni Appreciate your review here 🙏

@leekeiabstraction leekeiabstraction force-pushed the cpp-integration-test branch 2 times, most recently from 21bab65 to 93a758f Compare February 18, 2026 20:19
@fresh-borzoni
Copy link
Contributor

fresh-borzoni commented Feb 18, 2026

@leekeiabstraction, it might be the case that we would need to get #351 merged first
I changes some C++ API to match between clients:

  • Size() to Count() on ScanRecord, it matches Java/Rust
  • Empty() to isEmpty() on ScanRecords, it matches Java/Rust
  • we still support flat iteration: for (const auto& rec : scan_records) , but not indexing as it isn't exposed in Java/Rust, so I removed it, still exposed it in Python as it's more pythonic, but it's debatable

@leekeiabstraction
Copy link
Contributor Author

That is fine. We can update this afterwards

@leekeiabstraction
Copy link
Contributor Author

Still appreciate your early review on the other parts within this PR though! 🙏🏼

Copy link
Contributor

@fresh-borzoni fresh-borzoni left a comment

Choose a reason for hiding this comment

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

@leekeiabstraction Ty for the PR.

quickly looked through. Left couple of comments, but still 'review in progress'
PTAL

inline std::vector<fluss::ScanRecord> PollRecords(fluss::LogScanner& scanner,
size_t expected_count,
int timeout_seconds = 10) {
// We need to keep the ScanRecords alive since ScanRecord borrows from them
Copy link
Contributor

Choose a reason for hiding this comment

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

we shall remove it as it just returns empty vector in the end.
But it actually made me think - mb we should just use shared_ptr and I overcomplicated this pattern, it basically would be Arc from Rust.

prepared the fix for this: seems to work and better overall: #353

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Thanks, will update the test to use the latest APIs once #331 is also merged

Copy link
Contributor

@fresh-borzoni fresh-borzoni left a comment

Choose a reason for hiding this comment

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

@leekeiabstraction finished review, left comments. PTAL

also once scan by buckets PR is merged - we need to add some tests for it

@luoyuxia
Copy link
Contributor

@leekeiabstraction Hi, since #331 is merge, maybe you need to update the pr

@leekeiabstraction
Copy link
Contributor Author

@fresh-borzoni Updated C++ IT to also use per-bucket scan records view. Appreciate if you can have a look. TY.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

C++ Integration tests

3 participants