You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by "Kristian Waagan (JIRA)" <ji...@apache.org> on 2008/04/07 12:40:24 UTC
[jira] Created: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Optimize LOBStateTracker for non-locator servers
------------------------------------------------
Key: DERBY-3601
URL: https://issues.apache.org/jira/browse/DERBY-3601
Project: Derby
Issue Type: Improvement
Components: Network Client, Newcomer
Affects Versions: 10.4.1.2, 10.5.0.0
Reporter: Kristian Waagan
Priority: Trivial
The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
----- Knut Anders wrote:
've tried out the 2a patch and it seems to work as intended. My only nits are:
- LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
- should discardState() and markAccessed() check the release flag?
- should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
-----
Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Commented: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Dag H. Wanvik (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12626783#action_12626783 ]
Dag H. Wanvik commented on DERBY-3601:
--------------------------------------
Changes looks good and understandable to me.
+1
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Attachments: derby-3601-1a-comments_and_renaming.diff
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-3601:
-----------------------------------
Fix Version/s: 10.4.2.1
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Fix For: 10.4.2.1, 10.5.0.0
>
> Attachments: derby-3601-1a-comments_and_renaming.diff, derby-3601-2a-non_locator_optimization.diff, derby-3601-2a-non_locator_optimization.stat
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-3601:
-----------------------------------
Attachment: derby-3601-2a-non_locator_optimization.stat
derby-3601-2a-non_locator_optimization.diff
'derby-3601-2a-non_locator_optimization.diff' implements the suggested optimizations.
suites.All ran without failures on Solaris 10 with JDK 1.6.0.
Patch ready for review.
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Attachments: derby-3601-1a-comments_and_renaming.diff, derby-3601-2a-non_locator_optimization.diff, derby-3601-2a-non_locator_optimization.stat
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-3601:
-----------------------------------
Derby Info: (was: [Patch Available])
Thank you for the review, Dag!
I committed 'derby-3601-1a-comments_and_renaming.diff' to trunk with revision 690133.
I expect another patch to be ready soon.
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Attachments: derby-3601-1a-comments_and_renaming.diff
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-3601:
-----------------------------------
Attachment: derby-3601-1a-comments_and_renaming.diff
'derby-3601-1a-comments_and_renaming.diff' changes some of the comments in LOBStateTracker and renames variables and methods to better reflect reality.
I think when it was first written it was supposed to take care of more than it does today. Currently, the class is only used to track whether a LOB has been published to the end-user or not (happens through ResultSet.get[BC]lob).
There shouldn't be any functional changes in patch 1a.
The next step is to implement the improvements suggested under this issue.
Patch ready for review.
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Attachments: derby-3601-1a-comments_and_renaming.diff
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-3601:
-----------------------------------
Derby Info: [Patch Available]
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Attachments: derby-3601-1a-comments_and_renaming.diff
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Assigned: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan reassigned DERBY-3601:
--------------------------------------
Assignee: Kristian Waagan
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Updated: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan updated DERBY-3601:
-----------------------------------
Derby Info: [Patch Available]
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Attachments: derby-3601-1a-comments_and_renaming.diff, derby-3601-2a-non_locator_optimization.diff, derby-3601-2a-non_locator_optimization.stat
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Closed: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan closed DERBY-3601.
----------------------------------
Backported fixes to 10.4 with revision 705502.
Closing issue.
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Fix For: 10.5.0.0
>
> Attachments: derby-3601-1a-comments_and_renaming.diff, derby-3601-2a-non_locator_optimization.diff, derby-3601-2a-non_locator_optimization.stat
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.
[jira] Resolved: (DERBY-3601) Optimize LOBStateTracker for
non-locator servers
Posted by "Kristian Waagan (JIRA)" <ji...@apache.org>.
[ https://issues.apache.org/jira/browse/DERBY-3601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Kristian Waagan resolved DERBY-3601.
------------------------------------
Resolution: Fixed
Fix Version/s: 10.5.0.0
Derby Info: (was: [Patch Available])
Committed patch 2a to trunk with revision 701156.
I'll leave the issue open for a while and backport it if no problems are detected.
> Optimize LOBStateTracker for non-locator servers
> ------------------------------------------------
>
> Key: DERBY-3601
> URL: https://issues.apache.org/jira/browse/DERBY-3601
> Project: Derby
> Issue Type: Improvement
> Components: Network Client, Newcomer
> Affects Versions: 10.4.1.3, 10.5.0.0
> Reporter: Kristian Waagan
> Assignee: Kristian Waagan
> Priority: Trivial
> Fix For: 10.5.0.0
>
> Attachments: derby-3601-1a-comments_and_renaming.diff, derby-3601-2a-non_locator_optimization.diff, derby-3601-2a-non_locator_optimization.stat
>
>
> The following comments posted for DERBY-3571 should be addressed if we choose to allow multiple calls to the various getter methods on LOB columns, except for the getter methods returning streams:
> ----- Knut Anders wrote:
> 've tried out the 2a patch and it seems to work as intended. My only nits are:
> - LOBStateTracker.checkCurrentRow(): couldn't Arrays.fill() be moved inside the if block?
> - should discardState() and markAccessed() check the release flag?
> - should ResultSet.createLOBColumnTracker() use LOBStateTracker.NO_OP_TRACKER instead of allocating a new when serverSupportsLocators() returns false?
> -----
> Note that it is a requirement that we allow multiple calls to the getter methods, otherwise we need to maintain the state for non-locator LOB columns as well to track the number of accesses. Another options is to rely on a different mechanism to track accesses.
--
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.