[ 
https://issues.apache.org/jira/browse/JCR-4018?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15478387#comment-15478387
 ] 

Woonsan Ko commented on JCR-4018:
---------------------------------

The pull request fixes the following:
- avoid duplicate code (asynchronous write executor creation in both 
{{FSBackend}} and {{VFSDataBackend}}) by introducing {{AbstractBackend}} as a 
common base class. {{AbstractBackend}} maintains the lifecycle of the 
asynchronous write executor.
- keep the common initializing parameters ({{dataStore}}, {{homeDir}} and 
{{config}} as well as asynchronous write executor related ones: 
{{asyncWritePoolSize}} and {{asyncWriteExecutor}}.
- by having {{S3Backend}} extend {{AbstractBackend}}, {{S3Backend}} now behaves 
more consistently. For example, if you set 
{{CachingDataStore#asyncUploadLimit}} to zero, it disables asynchronous 
uploading like the others.

Please take a review.

Kind regards,

Woonsan

> Consistent Async Upload Executor handling in Backend implementations
> --------------------------------------------------------------------
>
>                 Key: JCR-4018
>                 URL: https://issues.apache.org/jira/browse/JCR-4018
>             Project: Jackrabbit Content Repository
>          Issue Type: Improvement
>            Reporter: Woonsan Ko
>            Priority: Minor
>              Labels: PatchAvailable
>             Fix For: 2.13.4
>
>
> There are some inconsistent configuration/behaviors regarding asynchronous 
> upload executor handling.
> For example,
> - {{VFSBackend}} disables async upload based on {{asyncPoolSize}} not based 
> on {{CachingDataStore#asyncUploadLimit}}.
> - {{FSBackend}} disables it based on {{CachingDataStore#asyncUploadLimit}} 
> correctly as of JCR-4008.
> - {{S3Backend}} doesn't have a feature to disable async uploading yet.
> Probably it would be nicer to have {{AbstractBackend}} for all the practical 
> {{Backend}} implementations to share the handling on asynchronous uploading 
> features such as how to create an {{Executor}} and async executor pool size, 
> etc. There are already some duplicate code regarding this in {{VFSBackend}} 
> and {{FSBackend}}.



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to