OpenSearch/plugins
Armin Braun ebb6677815
Formalize and Streamline Buffer Sizes used by Repositories (#59771) (#60051)
Due to complicated access checks (reads and writes execute in their own access context) on some repositories (GCS, Azure, HDFS), using a hard coded buffer size of 4k for restores was needlessly inefficient.
By the same token, the use of stream copying with the default 8k buffer size  for blob writes was inefficient as well.

We also had dedicated, undocumented buffer size settings for HDFS and FS repositories. For these two we would use a 100k buffer by default. We did not have such a setting for e.g. GCS though, which would only use an 8k read buffer which is needlessly small for reading from a raw `URLConnection`.

This commit adds an undocumented setting that sets the default buffer size to `128k` for all repositories. It removes wasteful allocation of such a large buffer for small writes and reads in case of HDFS and FS repositories (i.e. still using the smaller buffer to write metadata) but uses a large buffer for doing restores and uploading segment blobs.

This should speed up Azure and GCS restores and snapshots in a non-trivial way as well as save some memory when reading small blobs on FS and HFDS repositories.
2020-07-22 21:06:31 +02:00
..
analysis-icu Drop some params from IndexFieldData.Builder (backport of #59934) (#59972) 2020-07-21 10:28:59 -04:00
analysis-kuromoji upgrade to lucene-8.6.0 release (#59596) (#59599) 2020-07-15 12:40:57 +02:00
analysis-nori upgrade to lucene-8.6.0 release (#59596) (#59599) 2020-07-15 12:40:57 +02:00
analysis-phonetic upgrade to lucene-8.6.0 release (#59596) (#59599) 2020-07-15 12:40:57 +02:00
analysis-smartcn upgrade to lucene-8.6.0 release (#59596) (#59599) 2020-07-15 12:40:57 +02:00
analysis-stempel upgrade to lucene-8.6.0 release (#59596) (#59599) 2020-07-15 12:40:57 +02:00
analysis-ukrainian upgrade to lucene-8.6.0 release (#59596) (#59599) 2020-07-15 12:40:57 +02:00
discovery-azure-classic 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
discovery-ec2 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
discovery-gce 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
examples 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
ingest-attachment 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
mapper-annotated-text MappedFieldType no longer requires equals/hashCode/clone (#59212) 2020-07-09 21:05:10 +01:00
mapper-murmur3 Drop some params from IndexFieldData.Builder (backport of #59934) (#59972) 2020-07-21 10:28:59 -04:00
mapper-size 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
repository-azure Remove Artificially Low Chunk Size Limits from GCS + Azure Blob Stores (#59279) (#59564) 2020-07-14 22:31:07 +02:00
repository-gcs Formalize and Streamline Buffer Sizes used by Repositories (#59771) (#60051) 2020-07-22 21:06:31 +02:00
repository-hdfs Formalize and Streamline Buffer Sizes used by Repositories (#59771) (#60051) 2020-07-22 21:06:31 +02:00
repository-s3 Enable Fully Concurrent Snapshot Operations (#56911) (#59578) 2020-07-15 03:42:31 +02:00
store-smb 7.x - Create plugin for yamlTest task (#56841) (#59090) 2020-07-06 14:16:26 -05:00
transport-nio Use `getPortRange` in http server tests (#58794) 2020-07-02 13:21:45 -06:00
build.gradle Apply 2-space indent to all gradle scripts (#49071) 2019-11-14 11:01:23 +00:00