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

[ML] Remove out-of-phase buckets feature #318

Conversation

dimitris-athanasiou
Copy link
Contributor

@dimitris-athanasiou dimitris-athanasiou commented Nov 20, 2018

This feature was never fully completed and in fact
we no longer need it as the multibucket feature
covers the benefits from supporting out-of-phase buckets.

closes #302

This feature was never fully completed and in fact
we no longer need it as the multibucket feature
covers the benefits from supporting out-of-phase buckets.
Copy link
Contributor

@tveasey tveasey left a comment

Choose a reason for hiding this comment

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

This looks great Dimitris! I've been through once and don't see any problems. Just a couple of minor suggestions. I'd like to digest this a bit more and 1) see if there is anything else redundant I can think of, 2) convince myself a bit more there isn't anything that has been accidentally broken.

The failing unit test could well be a perturbation effect due to changing memory used by, for example, removing queues. If the change is small it'll be fine to just update the threshold as the control is approximate.

//! \p processingTimer is the processing time can be written to the bucket
//! \p sumPastProcessingTime is the total time previously spent processing
//! but resulted in no bucket being outputted.
//! \p processingTime is the processing time can be written to the bucket
Copy link
Contributor

Choose a reason for hiding this comment

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

is the processing time can be written to the bucket |-> is the processing time of the bucket

boost::cref(gatherer_), _1));
}
const std::string& tag = m_BucketGatherer->persistenceTag();
if (tag == CBucketGatherer::EVENTRATE_BUCKET_GATHERER_TAG) {
Copy link
Contributor

@tveasey tveasey Nov 20, 2018

Choose a reason for hiding this comment

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

This probably doesn't need to cast and use separate code paths since bind behaves polymorphically, i.e. I think

inserter.insertLevel(m_BucketGatherer->persistenceTag(),
                     boost::bind(&CBucketGatherer::acceptPersistInserter, m_BucketGatherer.get(), _1));

works. Persist and restore unit tests will fail if it doesn't so you can try it out safely.

Copy link
Contributor Author

Choose a reason for hiding this comment

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

Done!

Copy link
Contributor

@tveasey tveasey left a comment

Choose a reason for hiding this comment

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

I've been through this again and haven't identified any problems and also can't see any other dead code. Let's get this in and check that we don't get any changes in the regression suite.

@dimitris-athanasiou dimitris-athanasiou merged commit 4eb11ba into elastic:master Nov 22, 2018
@dimitris-athanasiou dimitris-athanasiou deleted the remove-out-of-phase-buckets-feature branch November 22, 2018 12:56
dimitris-athanasiou added a commit that referenced this pull request Nov 22, 2018
This feature was never fully completed and in fact
we no longer need it as the multibucket feature
covers the benefits from supporting out-of-phase buckets.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CStringStore Unit tests write way too many logs
3 participants