Skip to content

[QTL] Query time lookup cluster wide config#1576

Merged
nishantmonu51 merged 1 commit intoapache:masterfrom
metamx:queryTimeLookup_announce
Mar 18, 2016
Merged

[QTL] Query time lookup cluster wide config#1576
nishantmonu51 merged 1 commit intoapache:masterfrom
metamx:queryTimeLookup_announce

Conversation

@drcrallen
Copy link
Copy Markdown
Contributor

This is the next PR for QTL where cluster wide configuration is possible.

This approach uses POSTs from the coordinator to populate QTL information in all interested nodes. Interested nodes "register" via the Announcer (currently ZK based). But all communication occurs through HTTP directly between the coordinator and the node.

The PR lists over 4k lines, but a LOT of that is tests.

TODO: Ready to merge

  • Proposal for coordinator and node endpoints
  • Squash (Leaving change log while reviews are occurring)
  • Docs Punted until extensions are updated
  • Migrate coordinator code to a module.
  • Figure out a better way to handle the listening handling. (see Add listening-announcer extension #2286 ) added in this PR in core
  • Migrate lookup config to auditable config type.
  • Rebase on Promoting LookupExtractor state and LookupExtractorFactory to be a first class druid state object. #2291
  • Move core stuff and extension stuff to its own commit
  • Make sure put functions as expected. (I don't think deleting actually works in this version)
  • Make sure initialization behaves as expected
  • Actually run the thing locally
  • Reconcile need for static config vs dynamic config. Ex: what happens if someone requests a delete or get of a lookup defined in runtime.properties? No static config
  • More unit tests for delete funciton
  • Make timeouts configurable done
  • Document historical node endpoints as advanced feature
  • Document experimental update aspect Added javadoc for replaces addition to LookupExtractorFactory

KNOWN ISSUES:

Currently if someone manually goes in and modifies lookups on a lookup node, the cluster wide config will attempt to re-populate that node. The way to get around this behavior is to add the lookups to the node independent of cluster-wide config.

The lookup coordinator does try to delete lookups that were removed from the config.

THERE IS A MAJOR CAVEAT HERE: If a node's network is disconnected during this delete (or it is otherwise temporarily unavailable) there is no good way for the coordinator to know that, when it can communicate with the node again, if the some_lookup is has is supposed to be there as a custom config, or if some_lookup is there from a failed delete.

Such an occurrence should be RARE in the current IMPL though.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'm considering moving this to a module, so don't get caught up on it being in mainline druid

@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch from 8e6d2b5 to 2cd6e31 Compare August 7, 2015 23:13
Comment thread pom.xml Outdated
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Will remove these version changes shortly.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Done

@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch 3 times, most recently from 5e1ed09 to ab97768 Compare August 10, 2015 22:58
@drcrallen drcrallen closed this Aug 17, 2015
@drcrallen drcrallen reopened this Aug 17, 2015
@drcrallen drcrallen added this to the 0.8.2 milestone Aug 17, 2015
@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch from ab97768 to 6b29191 Compare August 22, 2015 00:27
@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch from 6b29191 to 34eff84 Compare September 1, 2015 17:42
@drcrallen drcrallen closed this Sep 4, 2015
@drcrallen drcrallen reopened this Sep 4, 2015
@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch from 34eff84 to e5f02d0 Compare September 8, 2015 20:40
@drcrallen drcrallen closed this Sep 8, 2015
@drcrallen drcrallen reopened this Sep 8, 2015
@drcrallen drcrallen modified the milestones: 0.9.0, 0.8.2 Sep 22, 2015
@drcrallen drcrallen removed this from the 0.9.0 milestone Oct 20, 2015
@drcrallen
Copy link
Copy Markdown
Contributor Author

Closing for now

@drcrallen drcrallen closed this Dec 18, 2015


# Lookups Dynamic Config (EXPERIMENTAL)
Thse configuration options control the behavior of the Lookup dynamic configuration described in the [lookups page](../querying/lookups.html)
Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

s/Thse/These/g

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

fixed

@nishantmonu51
Copy link
Copy Markdown
Member

have finished reviewing this PR -
two comments -

  1. there are places where namespace and lookup are used interchangeably, minor places like variable names, package names needs to be changed
  2. In the initialization the user is required to manually init with an empty lookup, which can be avoided, but not a blocker for PR and can be added in a github issue and done in a separate PR.

I am 👍 on this and think this can be merged once 1 is taken care of unless @b-slim has any more comments.

@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch from 2c7a90e to 70905c5 Compare March 17, 2016 23:27
@drcrallen
Copy link
Copy Markdown
Contributor Author

Squashed

Comment thread aws-common/pom.xml Outdated
Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I'll undo these, give me a sec

@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch 4 times, most recently from 0211eef to 2f36d73 Compare March 18, 2016 01:29
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

duplicated LifecycleModule.register(binder, LookupReferencesManager.class)

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

good call, artifact of merging module definitions. Fixed

@drcrallen drcrallen force-pushed the queryTimeLookup_announce branch from 2f36d73 to 5da9a28 Compare March 18, 2016 16:45
@b-slim
Copy link
Copy Markdown
Contributor

b-slim commented Mar 18, 2016

👍 please make sure to have the issue linked to the future improvement especially about initialization.

@b-slim b-slim closed this Mar 18, 2016
@b-slim b-slim reopened this Mar 18, 2016
nishantmonu51 added a commit that referenced this pull request Mar 18, 2016
[QTL] Query time lookup cluster wide config
@nishantmonu51 nishantmonu51 merged commit 52522eb into apache:master Mar 18, 2016
@drcrallen drcrallen deleted the queryTimeLookup_announce branch March 18, 2016 19:15
seoeun25 pushed a commit to seoeun25/incubator-druid that referenced this pull request Jan 10, 2020
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

5 participants