Skip to content

Issue with tl_engine copy constructor exposed in PR #633#646

Merged
ibrodkin merged 48 commits into
developfrom
633-offending-copy-construstor
May 13, 2026
Merged

Issue with tl_engine copy constructor exposed in PR #633#646
ibrodkin merged 48 commits into
developfrom
633-offending-copy-construstor

Conversation

@ibrodkin
Copy link
Copy Markdown
Collaborator

@ibrodkin ibrodkin commented May 12, 2026

A combination of conditions compounds to the tl_engine functioning issue mentioned in PR #633 review:

  1. It turns out that std::move(some_object) invokes some_object's copy constructor instead of default move constructor in the case when some_object does not have explicitly defined move constructor

  2. StoryChunkExtractionChain implementation assumes expected move semantics of std:move

  3. invoking thallium ::engine copy constructor might silently finalize the engine and thus prevent normal story chunk transfer in StoryChunkExtractorRDMA & DualEndpointChunkExtractorRDMA.


Changes in this PR :

  1. The main changes in this PR ensure that the Extractors that rely on thallium RPC communication have explicitly deleted copy constructors and explicitly defined move constructors.
  2. ExtractionChains are now responsible to instantiating their sets of Extractors through the activate() method instead of add_extractor(). add_extractor() method is removed
  3. functional tests for KeeperExtractionChain and GrapherExtractionChain are modified to test ExtractionModule and ExtractionChain changes described above.

ibrodkin and others added 30 commits November 20, 2025 14:23
…ialization

- Added a destructor to ConfigurationManager to ensure proper cleanup of JSON configuration objects.
- Refactored the constructor to initialize all configuration pointers to nullptr and load configurations from a JSON file.
- Updated condition checks in LoadConfFromJSONFile to use logical AND instead of OR for better validation of JSON object types.
- Updated the return values in the parseJsonConf method across multiple configuration files (ChronoGrapher, ChronoKeeper, ChronoPlayer, ChronoVisor) to use the chronolog::CL_SUCCESS constant instead of a hardcoded value of 1 for improved clarity and consistency in success indication.
- Adjusted the deployment script to reflect changes in configuration paths for better maintainability.
- Replaced assert statements with conditional checks in the parseJsonConf methods across ChronoGrapher, ChronoKeeper, ChronoPlayer, and ChronoVisor configuration files to improve error handling.
- Added error messages to standard output for invalid configuration types, ensuring clearer feedback for configuration issues.
- Updated return values to use chl::CL_ERR_INVALID_CONF for consistency in error reporting.
- Added conditional checks in the parseJsonConf methods for CLOCK_CONF and AUTH_CONF to handle parsing errors more gracefully.
- Introduced error messages to standard output for invalid configurations, enhancing feedback for users.
- Ensured consistent exit behavior on parsing failures by utilizing chronolog::CL_ERR_INVALID_CONF.
…, ExtractionChain is using variant array instead of argument pack; new KeeperExtractionConfiguration; new KeeperExtractionChain implementation; new GrapherExtractionConfiguration & new GrapherExtractionChain implementation
… and Grapher; added tests/functional/chrono-grapher
@github-actions

This comment was marked as resolved.

@ibrodkin ibrodkin closed this May 12, 2026
@ibrodkin ibrodkin reopened this May 12, 2026
@iameneko iameneko changed the base branch from main to develop May 12, 2026 20:06
@github-actions

This comment was marked as resolved.

@ibrodkin ibrodkin self-assigned this May 12, 2026
@ibrodkin ibrodkin changed the title 633 : Issue with tl_engine copy constructor exposed in PR #633 Issue with tl_engine copy constructor exposed in PR #633 May 12, 2026
@github-actions

This comment was marked as resolved.

@github-actions

This comment was marked as resolved.

Comment thread ChronoKeeper/src/DualEndpointChunkExtractorRDMA.cpp
Comment thread chrono_common/include/RDMATransferAgent.h
@ibrodkin ibrodkin requested a review from fkengun May 13, 2026 18:02
iameneko
iameneko approved these changes May 13, 2026
@ibrodkin ibrodkin merged commit 0dea0a4 into develop May 13, 2026
5 checks passed
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.

2 participants