* Performance: remove the synchronous persistence mechanism from batch ElasticSearch DAO. Because the current enhanced persistent session mechanism, don't require the data queryable immediately after the insert and update anymore.
* Performance: share `flushInterval` setting for both metrics and record data, due to `synchronous persistence mechanism` removed. Record flush interval used to be hardcoded as 10s.
* Remove `syncBulkActions` in ElasticSearch storage option.
* Increase the default bulkActions(env, SW_STORAGE_ES_BULK_ACTIONS) to 5000(from 1000).
* Increase the flush interval of ElasticSearch indices to 15s(from 10s)
Add these 2 references. According to these, **(same _index, _type and _id) in same bulk will be in order**
1. https://github.com/elastic/elasticsearch/issues/50199
2. https://discuss.elastic.co/t/order-of--bulk-request-operations/98124
Notice, the order of different bulks is not guaranteed by the ElasticSearch cluster. We are going to have the risk of dirty write. But consider we set over 20s period between flush, and index flush period is 10, we should be safe.
Recommend 5000 bulk size and 15s flush interval only. The persistent period has been set to 25s.
Motivation:
Review code styles with some bots automatically.
Modifications:
Set up ReviewDog in GitHub Action to review code style.
Add more check rules to checkstyle plugin.
Result:
Obvious code styles can be reviewed and commented automatically.
* Update JDK compiling level to 8, and remove zip dist.
* Exclude annotation and shade API.
* Fix more exclusion.
* 1. Update grava and gson 2. Fix compile issue. 3. Keep protoc and maven plugin in old version. Some incompatible of 3rd party grpc proto.
* Fix dependency conflicts, license and notice issue, and dependency check script issue
Co-authored-by: kezhenxu94 <kezhenxu94@163.com>
* [Feature] Officially support ElasticSearch 7 as backend storage
* Extract bootstrap module to be shared by multiple starters
* Add missing configuration file and distinguish different version in test
* Update known-oap-backend-dependencies-es7.txt
Update the dependency lib
* Fix missing adaptation to ElasticSearch 7
* Rename ElasticSearch 7 specific class with Es7 infix
* Fix miss-adapted ElasticSearch DAO API
* Add ES7 specific configuration and polish documentations
* Polish documentations
* Polish documentations
* The new feature of Elasticsearch storage with the time series implementation.
* Time bucket util improve.
* Fixed some Gramma error.
* Update ttl.md
Polish English a little.
* Update ttl.md
Add more explicit description of TTL
* Update ttl.md
* Update StorageModuleElasticsearchConfig.java
Set otherMetricsDataTTL = 0 as default, make user more clear.
* Rename the timeSeriesAble to capableOfTimeSeries
* Fixed a test case failure.
* Integration test for elastic search client.
* Just test verify command.
* CI command order change.
* Remove maven clean.
* no message
* Create Jenkinsfile to try the apache build for our CI.
* Added elasticsearch warehouse certification support
* Add the elasticsearch service for Http Basic instructions
* Update backend-storage.md
Change document.
* Close the clients which are unreachable.
Remote client manager test case and comments.
* Test the GRPCRemote client.
* 1. Catch the throwable for onComplete method cause of it will throw exception when connection lost.
2. Check the gRPC channel state, send message when state is ready, wait 5 second when state is not ready.
Notice: gRPC channel getState with true parameter will trigger reconnect operation.
* gRPC client will reconnect to the server when network recorvered.
* Recovery application.yml
* Recovery proto module commit id.
* no message
* Fixed compile error.
* H2 storage code skeleton.
* Add batch dao for H2.
* Fix wrong refactor.
* Add codes of other dao. No metric dao, wait for @peng-yongsheng new PR.
* Change license of distribution
* Add topology query in H2.
* Add more daos.
* Add some daos.
* Commit all H2 daos. Wait @peng-yongsheng to submit new IAggregationQueryDAO interface.
* Fix some CIs
* Fix wrong refactor, which causes h2 plugin failure.
* Fix all codes of H2 storage. :) and CI should pass. No test.
* Fix CI and typo
* Fix connection closed.
* Fix register bug
* no message
* Fixed service inventory register bug.
* Fix a compile issue.
* Sync change
* Reset es as default storage.
* Fix rat
* Fix H2 compile issue.
* Fix bugs for H2 storage.
* Fix bug in mesh.
* 1. Fix Thermodynamic query bug
2. Fix service inventory query bug
3. Fix missing traceid in trace query bug
* Fix query bug.
* Submit reverse caused by prev PR.
* Fix duplicate spans.
* Use H2 as default storage implementor.
* Fix bug in topology query.
* Fix CI
* Fix rat
* Fix two query in H2 storage.
* Fix H2 query
* Make release running in H2 mode and develop mode running is ES mode in default