Skip to content

IGNITE-14307 Use statistics in cost model.#9205

Closed
Berkof wants to merge 36 commits intoapache:sql-calcitefrom
gridgain:ignite-14307
Closed

IGNITE-14307 Use statistics in cost model.#9205
Berkof wants to merge 36 commits intoapache:sql-calcitefrom
gridgain:ignite-14307

Conversation

@Berkof
Copy link
Contributor

@Berkof Berkof commented Jun 29, 2021

Thank you for submitting the pull request to the Apache Ignite.

In order to streamline the review of the contribution
we ask you to ensure the following steps have been taken:

The Contribution Checklist

  • There is a single JIRA ticket related to the pull request.
  • The web-link to the pull request is attached to the JIRA ticket.
  • The JIRA ticket has the Patch Available state.
  • The pull request body describes changes that have been made.
    The description explains WHAT and WHY was made instead of HOW.
  • The pull request title is treated as the final commit message.
    The following pattern must be used: IGNITE-XXXX Change summary where XXXX - number of JIRA issue.
  • A reviewer has been mentioned through the JIRA comments
    (see the Maintainers list)
  • The pull request has been checked by the Teamcity Bot and
    the green visa attached to the JIRA ticket (see TC.Bot: Check PR)

Notes

If you need any help, please email dev@ignite.apache.org or ask anу advice on http://asf.slack.com #ignite channel.

ibessonov and others added 30 commits May 25, 2021 10:42
…fterTopologyUnlock properly. Fixes apache#9094

Signed-off-by: Slava Koptilin <slava.koptilin@gmail.com>
**Server:**
* Add ClientDataStreamerStartRequest, ClientDataStreamerAddDataRequest to the thin client protocol
* Fix security permission checks in the DataStreamerImpl
* Add ClientStatus.INVALID_NODE_STATE

**.NET thin client:**
* Add `IIgniteClient.GetDataStreamer` API (thread safe)
* Implement stateless partition-aware variant (see IEP): stateful mode shows similar performance but with greatly increased complexity

Benchmark results (i7-9700K, Ubuntu 20.04, .NET 5.0.5)
```
Singlethreaded
 |            Method |     Mean |   Error |  StdDev | Ratio | RatioSD |     Gen 0 | Gen 1 | Gen 2 | Allocated |
 |------------------ |---------:|--------:|--------:|------:|--------:|----------:|------:|------:|----------:|
 |  StreamThinClient | 106.5 ms | 3.25 ms | 9.52 ms |  0.99 |    0.08 | 2000.0000 |     - |     - |  17.14 MB |
 | StreamThickClient | 109.7 ms | 2.19 ms | 4.17 ms |  1.00 |    0.00 | 2000.0000 |     - |     - |  13.61 MB |

Multithreaded
 |            Method |      Mean |    Error |   StdDev | Ratio | RatioSD |     Gen 0 |     Gen 1 | Gen 2 | Allocated |
 |------------------ |----------:|---------:|---------:|------:|--------:|----------:|----------:|------:|----------:|
 |  StreamThinClient | 107.65 ms | 2.931 ms | 8.504 ms |  1.45 |    0.14 | 2000.0000 | 1000.0000 |     - |  17.29 MB |
 | StreamThickClient |  74.69 ms | 1.829 ms | 5.278 ms |  1.00 |    0.00 | 2000.0000 | 1000.0000 |     - |  13.85 MB |
```

IEP: https://cwiki.apache.org/confluence/display/IGNITE/IEP-68%3A+Thin+Client+Data+Streamer
…terate WAL out of reservation. Fixes apache#9146

Signed-off-by: Slava Koptilin <slava.koptilin@gmail.com>
…ge in GridDhtPartitionDemander. Fixes apache#9004

Signed-off-by: Slava Koptilin <slava.koptilin@gmail.com>
…partition awareness

* Add missing support for strings and arrays in `BinaryHashCodeUtils`
* Fix `byte` and `sbyte` hash codes: Java `byte` is signed, so the logic should be reversed
Enable Roslyn-based code analysis in "DotNetCore" projects by adding "Microsoft.CodeAnalysis.FxCopAnalyzers" package reference. As a result, code analysis is performed by MSBuild (`dotnet build`) during the build, on CI and on developer machines, without any extra steps to install and run any tools.

* Enable "Warnings as Errors" globally
* Add shared rule sets: `Apache.Ignite.Tests.ruleset` for test and benchmark code (less strict) and `Apache.Ignite.ruleset` for everything else (more strict)
* Fix some newly uncovered issues
…e correct tx recovery after node crash - Fixes apache#9112.

Signed-off-by: Sergey Chugunov <sergey.chugunov@gmail.com>
…ebalancing failure. Fixes apache#9155

Signed-off-by: Slava Koptilin <slava.koptilin@gmail.com>
…pache#9115.

Signed-off-by: Sergey Chugunov <sergey.chugunov@gmail.com>
…with indexed types is defined on client

* Restore `registerMetadataForRegisteredCaches` call in `GridQueryProcessor#start` - this fixes Java-side behavior, but breaks registration for platform types, because `PlatformProcessor` is not available at this point
* Call `registerMetadataForRegisteredCaches` second time from `PlatformProcessorImpl.start` only for platform types
)

* IGNITE-14932 Reference to the Ignite Storage Overview video

* Minor fix
@Berkof Berkof changed the title Ignite 14307 IGNITE-14307: Use statistics in cost model. Jun 29, 2021
@Berkof Berkof changed the title IGNITE-14307: Use statistics in cost model. IGNITE-14307 Use statistics in cost model. Jun 29, 2021
@Berkof Berkof closed this Jul 23, 2021
@Berkof Berkof deleted the ignite-14307 branch July 23, 2021 08:01
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.