[
https://issues.apache.org/jira/browse/SLING-7362?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16318142#comment-16318142
]
Timothee Maret edited comment on SLING-7362 at 1/9/18 10:00 AM:
----------------------------------------------------------------
Thanks [~diru], I have resolved the issue as WON'T DO.
JCRVLT-259 makes sense IMO, but it has a broader scope than tweaking a specific
compression algorithm.
AFAIK, there are attempts (in Sling code base) to provide better serialisation
(better throughput, less space) with Apache Avro and Kryo.
AFAIK, those modules remove the dependency on FileVault entirely. Removing the
FileVault dependency while keeping backward compatibility seems tricky and
quite some effort to me.
Indeed, FileVault has some tweaks that would need to be reproduced precisely in
a new module, in order to keep the expected behaviour.
Thus I really like the JCRVLT-259 approach since it has the potential to keep
the FileVault behaviour, but increase its throughput.
Regarding distribution throughput, we had identified the
serialisation/deserialisation as the "current" main bottleneck in typical AEM
scenarios and thus the first one to tackle. The previous main bottleneck was
JCRVLT-50.
When I started to work on SCD, I also thought that storing the packages to disk
was likely a huge bottleneck. Thus I had opened SLING-5991. But back then we
noticed it was not worth improving that aspect (with the added complexity)
since it had only minor impact on the throughput. Since we have now improved
other performance related aspects, we may revisit SLING-5991 to see if it makes
sense now.
Regarding storing the package once built, AFAIK it is required un order to
guarantee the distribution of packages (not lose distribution request). If
storing the package turns out to be a bottleneck, the SCD code base already
contains an implementation storing packages on the File System rather than the
repository, as well as an implementation that stores the packages in memory
(and thus breaks the aforementioned contract).
[~teofili] may have more details regarding the design.
was (Author: marett):
Thanks [~diru], I have resolved the issue as WON'T DO.
JCRVLT-259 makes sense IMO, but it has a broader scope than tweaking a specific
compression algorithm.
AFAIK, there are attempts (in Sling code base) to provide better serialisation
(better throughput, less space) with Apache Avro and Kryo.
AFAIK, those modules remove the dependency on FileVault entirely. Removing the
FileVault dependency while keeping backward compatibility seems tricky and
quite some effort to me.
Indeed, FileVault has some tweaks that would need to be reproduced precisely in
a new module, in order to keep the expected behaviour.
Thus I really like the JCRVLT-259 approach since it has the potential to keep
the FileVault behaviour, but increase its throughput.
Regarding distribution throughput, we had identified the
serialisation/deserialisation as the "current" main bottleneck in typical AEM
scenarios and thus the first one to tackle. The previous main bottleneck was
JCRVLT-50.
Regarding storing the package once built, AFAIK it is required un order to
guarantee the distribution of packages (not lose distribution request). If
storing the package turns out to be a bottleneck, the SCD code base already
contains an implementation storing packages on the File System rather than the
repository, as well as an implementation that stores the packages in memory
(and thus breaks the aforementioned contract).
[~teofili] may have more details regarding the design.
> Allow to configure the SCD default compression level
> ----------------------------------------------------
>
> Key: SLING-7362
> URL: https://issues.apache.org/jira/browse/SLING-7362
> Project: Sling
> Issue Type: Improvement
> Components: Content Distribution
> Reporter: Timothee Maret
> Assignee: Timothee Maret
> Fix For: Content Distribution Core 0.2.12
>
>
> In some scenarios, such as the one reported in JCRVLT-257 (essentially an
> issue in zlib), it makes sense to allow specifying the default compression
> level.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)