Skip to content

DM-54632: Eliminated obsolete code#1019

Open
iagaponenko wants to merge 3 commits intomainfrom
tickets/DM-54632
Open

DM-54632: Eliminated obsolete code#1019
iagaponenko wants to merge 3 commits intomainfrom
tickets/DM-54632

Conversation

@iagaponenko
Copy link
Copy Markdown
Contributor

@iagaponenko iagaponenko commented Apr 12, 2026

There are three commits in this PR:

  • Remove queryDistributionTestVer from modules czar and cconfig

    • The code represents an experimental attempt to speed up query dispatch based on feedback from workers. The eliminated code was never finished, nor did it mature into any working prototype.
    • Another problem with the removed code was that it was making the package qana directly dependent on the Qserv frontend module czar. This was not right from the dependency management standpoint.
  • Remove QuerySession.h:  int _isFinal

    This member has no actual effect on the query processing

  • Remove unnecessary mutex locking from:

      // make new UserQuery
      // this is atomic
      ccontrol::UserQuery::Ptr uq;
      {
          lock_guard<mutex> lock(_mutex);
          uq = _uqFactory->newUserQuery(query, defaultDb, getQdispSharedResources(), userQueryId, msgTableName,
                                        resultDb);
      }
    

    The current query creation code is thread-safe after migrating the CSS database connector to the thread-safe implementation.

A few notes:

  • The lock is known not to affect the performance of the mysql-proxy frontend due to another lock within the proxy that serializes query submission.
  • The lock removal improves the performance of the http frontend since it doesn’t have any additional locks
  • The ANTL4-based query parser is still the major factor that serializes query submission for the large query texts in both frontends.

The eliminated code appears to be some left over experiment that was never
finished, nor it matured into any reasonable idea.

Another problem with the removed code was that it was making the package
qana dependent on the Qserv frontend. This was not right from the
dependency management standpoint.
This member has no actual effect on the query processing
Copy link
Copy Markdown
Contributor

@jgates108 jgates108 left a comment

Choose a reason for hiding this comment

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

LGTM

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