druid/docs
Gian Merlino a2bad0b3a2
Reduce allocations due to Jackson serialization. (#12468)
* Reduce allocations due to Jackson serialization.

This patch attacks two sources of allocations during Jackson
serialization:

1) ObjectMapper.writeValue and JsonGenerator.writeObject create a new
   DefaultSerializerProvider instance for each call. It has lots of
   fields and creates pressure on the garbage collector. So, this patch
   adds helper functions in JacksonUtils that enable reuse of
   SerializerProvider objects and updates various call sites to make
   use of this.

2) GroupByQueryToolChest copies the ObjectMapper for every query to
   install a special module that supports backwards compatibility with
   map-based rows. This isn't needed if resultAsArray is set and
   all servers are running Druid 0.16.0 or later. This release was a
   while ago. So, this patch disables backwards compatibility by default,
   which eliminates the need to copy the heavyweight ObjectMapper. The
   patch also introduces a configuration option that allows admins to
   explicitly enable backwards compatibility.

* Add test.

* Update additional call sites and add to forbidden APIs.
2022-04-27 14:17:26 -07:00
..
_bin De-incubation cleanup in code, docs, packaging (#9108) 2020-01-03 12:33:19 -05:00
assets Design/architecture doc touchups (#11762) 2021-10-04 11:09:35 -07:00
comparisons Update druid-vs-kudu.md (#11470) 2021-07-21 22:58:14 +08:00
configuration Worker level task metrics (#12446) 2022-04-26 11:44:44 -05:00
dependencies Doc updates for metadata cleanup and storage (#12190) 2022-01-27 11:40:54 -08:00
design Docs - query caching (#11584) 2022-04-18 17:00:21 +08:00
development Fix formatting in stats.md (#12470) 2022-04-23 11:35:08 +08:00
ingestion Update native-batch.md (#12478) 2022-04-25 21:44:17 +08:00
misc Docs – expressions link back and timestamp hint (#11674) 2022-03-29 09:12:30 -07:00
operations Worker level task metrics (#12446) 2022-04-26 11:44:44 -05:00
querying Reduce allocations due to Jackson serialization. (#12468) 2022-04-27 14:17:26 -07:00
tutorials Update tutorial-compaction.md to change an unclear statement (#11988) 2022-04-18 13:25:09 +08:00