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

NIFI-1897: Refactoring to allow requests to be replicated from a node to other nodes #488

Closed
wants to merge 1 commit into from

Conversation

markap14
Copy link
Contributor

@markap14 markap14 commented Jun 2, 2016

Nodes are now capable of replicating requests across the cluster and a Cluster Coordinator is auto-elected to monitor heartbeats and provide the up-to-date flow to newly joining nodes. The WebClusterManager and associated components has been removed!

@mcgilman
Copy link
Contributor

mcgilman commented Jun 2, 2016

Reviewing...

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

@markap14 I've been reviewing this PR and have some initial findings.

As I'm reviewing I'm updating various comments and naming that still reflect the previous clustering model. I've gone ahead and updated those. Also, had some trouble starting the application in standalone mode but was able to resolve by updating the Spring Context where necessary. You can check out these modifications here [1].

Additionally, I noticed that none of the user documentation has been updated to reflect the new clustering model and a number of test resources have become stale. I've create separate JIRAs for addressing these issues [2] [3] at a later time.

Will be doing some additional reviewing but so far so good.

[1] mcgilman@05cbb92
[2] https://issues.apache.org/jira/browse/NIFI-1960
[3] https://issues.apache.org/jira/browse/NIFI-1961

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

@markap14

Ran into a small issue with node (re)connection regarding Templates. It appears that Templates local to that node are replaced with the cluster set of Templates. There is an outstanding JIRA for allowing nodes to have a superset of the cluster Templates [1]. This issue needs to be resolved there.

[1] https://issues.apache.org/jira/browse/NIFI-1413

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

@markap14

Just ran into an issue with the fields that are used in the flow fingerprint. I think we need to reconsider which fields are included. Specifically I had modified the penalty duration. This behavior is not new to this PR but warrants attention [1].

[1] https://issues.apache.org/jira/browse/NIFI-1963

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

@markap14

Ran into another issue around cluster coordinator selection. When the selected coordinator has a unheritable flow it is treated as the 'golden' copy as they are the coordinator. Other nodes fail to start up with different behavior as described in this PR [1].

[1] https://issues.apache.org/jira/browse/NIFI-1966

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

@markap14

Made a few more modifications to the handling of connection failure to ensure the coordinator is nodified. Also ensured the appropriate classloader when serializing templates, and that we are returning the replicated response in the Controller Resource. Please review them here [1].

Going merge this into master. Identified some issues (both new and old) that we'll need to address but can do so in a later PR. Thanks!

[1] mcgilman@e2c13a8

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

Also just created another PR to consider building something to automated the conversion of the nifi.properties [1].

[1] https://issues.apache.org/jira/browse/NIFI-1967

@markap14
Copy link
Contributor Author

markap14 commented Jun 3, 2016

Modifications that you proposed look good to me. +1

@mcgilman
Copy link
Contributor

mcgilman commented Jun 3, 2016

This has been merged into master. Discovered a few new items and identified a few old items that we'll still need to knock out. Another item that we still need to tackle is ensuring that all node responses are merged according to the most restrictive view [1].

[1] https://issues.apache.org/jira/browse/NIFI-1876

@asfgit asfgit closed this in df0e4e7 Jun 3, 2016
PuspenduBanerjee pushed a commit to PuspenduBanerjee/nifi that referenced this pull request Jun 9, 2016
- Refactoring to allow requests to be replicated from a node to other nodes
- Renaming cluster node connection/read timeout properties.
- Renaming NCM DN to Cluster Coordinator DN.
- Fixing default values in properties.
- Starting to fix Spring context to load correctly in standalone mode.
- Using the cluster protocol to handle connection failures instead of heartbeats.
- Ensured replicate call is returned from ControllerResource.
- Ensure the appropriate classloader when serializing templates.
- Handling when the flow contents are null.
- This closes apache#488
mans2singh pushed a commit to mans2singh/nifi that referenced this pull request Jun 11, 2016
- Refactoring to allow requests to be replicated from a node to other nodes
- Renaming cluster node connection/read timeout properties.
- Renaming NCM DN to Cluster Coordinator DN.
- Fixing default values in properties.
- Starting to fix Spring context to load correctly in standalone mode.
- Using the cluster protocol to handle connection failures instead of heartbeats.
- Ensured replicate call is returned from ControllerResource.
- Ensure the appropriate classloader when serializing templates.
- Handling when the flow contents are null.
- This closes apache#488
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
2 participants