totalSpace not properly initialized in AllocPage
------------------------------------------------

                 Key: DERBY-3116
                 URL: https://issues.apache.org/jira/browse/DERBY-3116
             Project: Derby
          Issue Type: Bug
          Components: Store
    Affects Versions: 10.4.0.0
            Reporter: Knut Anders Hatlen
            Priority: Minor


There are some problems with the initialization of totalSpace in AllocPage. It 
is initialized in StoredPage.initSpace() which is again called from 
StoredPage.usePageBuffer(), and it is set to the value returned from 
AllocPage.getMaxFreeSpace(). The problems are:

  1) The calculation in getMaxFreeSpace() uses borrowedSpace, but when 
createIdentity() is called on an AllocPage, borrowedSpace has not been 
initialized when getMaxFreeSpace() is called and the calculated size is wrong.

  2) When a page object is reused, usePageBuffer() is only called if a new byte 
array must be allocated (because the new page has a different size than the old 
page). This means that the totalSize field gets the same value as in the old 
page if their sizes are equal, which is not necessarily correct.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.

Reply via email to