You are viewing a plain text version of this content. The canonical link for it is here.
Posted to oak-issues@jackrabbit.apache.org by "Julian Reschke (JIRA)" <ji...@apache.org> on 2018/01/22 13:15:00 UTC
[jira] [Updated] (OAK-5622) RDBDocumentStore: improve logic that
decides whether to try string appends
[ https://issues.apache.org/jira/browse/OAK-5622?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Julian Reschke updated OAK-5622:
--------------------------------
Description:
While looking at log output for OAK-5387, it became clear that in at least that particular test, we are trying updates that we could know in advance to fail.
This is because in this test, all nodes get the same batched appending updates, thus their DATA column will exceed the maximum length for all nodes at the same time.
The correctly working per-document retry logic however immediately tries again an append, which consequently fails, and only then tries a full rewrite.
We could avoid this by leveraging DSIZE from the DB, currently there only for debug purposed. We would always fetch it, put it into RDBRow, expose it in {{Document}} and then make use of in in the decision logic.
was:
While looking at log output for OAK-5387, it became clear that in at least that particular test, we are trying updates that we could know in advance to fail.
This is because in this test, all nodes get the same batched appendig updates, thus their DATA column will exceed the maximum length for all nodes at the same time.
The correctly working per-document retry logic however immediately tries again an append, which consequently fails, and only then tries a full rewrite.
We could avoid this by leveraging DSIZE from the DB, currently there only for debug purposed. We would always fetch it, put it into RDBRow, expose it in {{Document}} and then make use of in in the decision logic.
> RDBDocumentStore: improve logic that decides whether to try string appends
> --------------------------------------------------------------------------
>
> Key: OAK-5622
> URL: https://issues.apache.org/jira/browse/OAK-5622
> Project: Jackrabbit Oak
> Issue Type: Technical task
> Components: documentmk
> Reporter: Julian Reschke
> Assignee: Julian Reschke
> Priority: Major
> Attachments: OAK-5622.diff
>
>
> While looking at log output for OAK-5387, it became clear that in at least that particular test, we are trying updates that we could know in advance to fail.
> This is because in this test, all nodes get the same batched appending updates, thus their DATA column will exceed the maximum length for all nodes at the same time.
> The correctly working per-document retry logic however immediately tries again an append, which consequently fails, and only then tries a full rewrite.
> We could avoid this by leveraging DSIZE from the DB, currently there only for debug purposed. We would always fetch it, put it into RDBRow, expose it in {{Document}} and then make use of in in the decision logic.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)