skywalking-java/oap-server
吴晟 Wu Sheng de975c7e2b
Remove synchronous persistence mechanism in API level and ElasticSearch implementation (#7293)
* 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.
2021-07-14 17:19:49 +08:00
..
analyzer perf: optimize Envoy access log persistence performance (#7290) 2021-07-13 18:44:52 +08:00
exporter Perf: cache metrics id and entity id (#7201) 2021-06-29 22:48:51 +08:00
oal-grammar perf: optimize Groovy-based LAL DSL with static compilation (#7263) 2021-07-09 18:00:25 +08:00
oal-rt Perf: cache metrics id and entity id (#7201) 2021-06-29 22:48:51 +08:00
server-alarm-plugin Perf: cache metrics id and entity id (#7201) 2021-06-29 22:48:51 +08:00
server-bootstrap Remove synchronous persistence mechanism in API level and ElasticSearch implementation (#7293) 2021-07-14 17:19:49 +08:00
server-cluster-plugin Upgrade etcd cluster coordinator and dynamic configuration to v3.x (#7215) 2021-07-05 11:23:11 +08:00
server-configuration Upgrade etcd cluster coordinator and dynamic configuration to v3.x (#7215) 2021-07-05 11:23:11 +08:00
server-core Remove synchronous persistence mechanism in API level and ElasticSearch implementation (#7293) 2021-07-14 17:19:49 +08:00
server-fetcher-plugin perf: optimize Envoy access log persistence performance (#7290) 2021-07-13 18:44:52 +08:00
server-health-checker Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
server-library Remove synchronous persistence mechanism in API level and ElasticSearch implementation (#7293) 2021-07-14 17:19:49 +08:00
server-query-plugin Add pagination to event query (#7274) 2021-07-09 23:04:50 +08:00
server-receiver-plugin perf: optimize Envoy access log persistence performance (#7290) 2021-07-13 18:44:52 +08:00
server-starter Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
server-starter-es7 Extract dependency management to a bom (#7136) 2021-06-20 20:57:26 +08:00
server-storage-plugin Remove synchronous persistence mechanism in API level and ElasticSearch implementation (#7293) 2021-07-14 17:19:49 +08:00
server-telemetry Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
server-testing Initialize 8.7.0 iteration (#7078) 2021-06-08 07:41:09 +08:00
server-tools OAL supports generating metrics from events (#7134) 2021-06-19 20:20:37 +08:00
pom.xml Upgrade etcd cluster coordinator and dynamic configuration to v3.x (#7215) 2021-07-05 11:23:11 +08:00