[ https://issues.apache.org/jira/browse/DERBY-3589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12585070#action_12585070 ]
Knut Anders Hatlen commented on DERBY-3589: ------------------------------------------- I was too quick there. This change alone wouldn't solve DERBY-3116, since that issue is about a field being initialized too late, not about being initialized to the wrong value. > AllocPage.createPage() doesn't initialize minimumRecordSize correctly > --------------------------------------------------------------------- > > Key: DERBY-3589 > URL: https://issues.apache.org/jira/browse/DERBY-3589 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.3.1.4, 10.4.1.0 > Reporter: Knut Anders Hatlen > Assignee: Knut Anders Hatlen > Priority: Minor > > AllocPage.createPage() will initialize minimumRecordSize to the same > value as borrowedSpace. See this code taken from AllocPage.java: > ------------------- > protected void createPage(PageKey newIdentity, int[] args) > throws StandardException > { > super.createPage(newIdentity, args); > // args[0] is the format id > // args[1] is whether to sync the page to disk or not > // args[2] is the pagesize (used by StoredPage) > // args[3] is the spareSize (used by StoredPage) > // args[4] is the number of bytes to reserve for container > header > // args[5] is the minimumRecordSize > // NOTE: the arg list here must match the one in FileContainer > int pageSize = args[2]; > int minimumRecordSize = args[5]; > borrowedSpace = args[4]; > ------------------- > Here it correctly takes args[5] and puts into the local variable > minimumRecordSize. However, that variable hides a field with the same > name, and that field is set to args[4] in the call to > super.createPage() at the first line in the method. The local variable > is never used. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.