[jira] [Commented] (IGNITE-12448) Calcite integration. Communication protocol.
[ https://issues.apache.org/jira/browse/IGNITE-12448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17025653#comment-17025653 ] Ivan Pavlukhin commented on IGNITE-12448: - [~agoncharuk], [~akalashnikov], I heard (from unreliable channels) that there is an initiative to write more "unit testable" code and consequently using classical unit testing as much as possible. What is really not good here that these ideas was not anyhow communicated with a wider community. While there are a lot of benefits some downsides can exists as well (e.g. heavy unit test coverage makes refactoring more time consuming). I implore to discuss this initiative with the Community. > Calcite integration. Communication protocol. > > > Key: IGNITE-12448 > URL: https://issues.apache.org/jira/browse/IGNITE-12448 > Project: Ignite > Issue Type: Task > Components: sql >Reporter: Igor Seliverstov >Assignee: Igor Seliverstov >Priority: Major > Time Spent: 8h 50m > Remaining Estimate: 0h > > We need to introduce a communication protocol between query fragments in > scope of query execution. > * Protocol should have Push semantics with back pressure ability > * Protocol have to provide ordering guaranties - the data batches processed > in same order they sent to remote node. > * Protocol have to provide delivery guaranties. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12448) Calcite integration. Communication protocol.
[ https://issues.apache.org/jira/browse/IGNITE-12448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17023780#comment-17023780 ] Roman Kondakov commented on IGNITE-12448: - [~gvvinblade], overall patch looks good for me. I left several minor comments in PR. > Calcite integration. Communication protocol. > > > Key: IGNITE-12448 > URL: https://issues.apache.org/jira/browse/IGNITE-12448 > Project: Ignite > Issue Type: Task > Components: sql >Reporter: Igor Seliverstov >Assignee: Igor Seliverstov >Priority: Major > Time Spent: 2.5h > Remaining Estimate: 0h > > We need to introduce a communication protocol between query fragments in > scope of query execution. > * Protocol should have Push semantics with back pressure ability > * Protocol have to provide ordering guaranties - the data batches processed > in same order they sent to remote node. > * Protocol have to provide delivery guaranties. -- This message was sent by Atlassian Jira (v8.3.4#803005)
[jira] [Commented] (IGNITE-12448) Calcite integration. Communication protocol.
[ https://issues.apache.org/jira/browse/IGNITE-12448?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel=17020946#comment-17020946 ] Alexey Goncharuk commented on IGNITE-12448: --- [~gvvinblade], I have one suggestion wrt to code organization based on general ideas from [~akalashnikov]: Right now it looks like that {{CalciteQueryProcessor}} is becoming both a wiring component which connects various pieces together, and also executes some important logic. This makes it impossible to test the logic without having an IgniteKernal instance. I would separate it the following way: * Move {{locals}} and {{remotes}} maps to either exchange service or messaging service. These maps are a part of communication subsystem, so the processor should not be aware of it and should not manage it * Separate all execution-related logic from CalciteQueryProcessor to a separate class which does not depend on {{KernalContext}} and accepts only interfaces. This way you can test this logic by mocking both all remote nodes or by simulating remote nodes without actual Ignite start * The {{CalciteQueryProcessor}} will just wire components that it pulls from contexts, setup listeners, etc. > Calcite integration. Communication protocol. > > > Key: IGNITE-12448 > URL: https://issues.apache.org/jira/browse/IGNITE-12448 > Project: Ignite > Issue Type: Task > Components: sql >Reporter: Igor Seliverstov >Assignee: Igor Seliverstov >Priority: Major > Time Spent: 1h 20m > Remaining Estimate: 0h > > We need to introduce a communication protocol between query fragments in > scope of query execution. > * Protocol should have Push semantics with back pressure ability > * Protocol have to provide ordering guaranties - the data batches processed > in same order they sent to remote node. > * Protocol have to provide delivery guaranties. -- This message was sent by Atlassian Jira (v8.3.4#803005)