You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2008/07/08 11:37:34 UTC

[jira] Created: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

client region/metadata cache should have a public method for invalidating entries
---------------------------------------------------------------------------------

                 Key: HBASE-729
                 URL: https://issues.apache.org/jira/browse/HBASE-729
             Project: Hadoop HBase
          Issue Type: Bug
          Components: client
    Affects Versions: 0.3.0
         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
            Reporter: Andrew Purtell
            Assignee: Andrew Purtell
            Priority: Minor


While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-729:
---------------------------------

        Fix Version/s: 0.3.0
                       0.2.1
    Affects Version/s: 0.2.1
               Status: Patch Available  (was: Open)

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.1, 0.3.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 0.2.1, 0.3.0
>
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-729:
---------------------------------

    Fix Version/s:     (was: 0.2.1)
                       (was: 0.3.0)

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-729:
---------------------------------

    Attachment: 729.patch

Previous patch had linefeed issues that would cause patch to barf.

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.1, 0.3.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 0.2.1, 0.3.0
>
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-729:
---------------------------------

    Affects Version/s:     (was: 0.2.1)
                           (was: 0.3.0)
                       0.2.0

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Commented: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621622#action_12621622 ] 

stack commented on HBASE-729:
-----------------------------

Andrew, does TestTable unit test pass for you?  Fails for me when I apply this patch.

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Commented: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "stack (JIRA)" <ji...@apache.org>.
    [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=12621623#action_12621623 ] 

stack commented on HBASE-729:
-----------------------------

Ignore my comment in above. 

Cleaning and retrying all passed (just takes a while).

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HBASE-729:
------------------------

       Resolution: Fixed
    Fix Version/s: 0.3.0
                   0.2.1
           Status: Resolved  (was: Patch Available)

Committed to branch and trunk.  Thanks for the patch Andrew.

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 0.2.1, 0.3.0
>
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-729:
---------------------------------

    Attachment:     (was: 729.patch)

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.1, 0.3.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 0.2.1, 0.3.0
>
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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


[jira] Updated: (HBASE-729) client region/metadata cache should have a public method for invalidating entries

Posted by "Andrew Purtell (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/HBASE-729?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Andrew Purtell updated HBASE-729:
---------------------------------

    Attachment: 729.patch

Actually just always using a MetaScanner in getHTableDescriptor is enough.

> client region/metadata cache should have a public method for invalidating entries
> ---------------------------------------------------------------------------------
>
>                 Key: HBASE-729
>                 URL: https://issues.apache.org/jira/browse/HBASE-729
>             Project: Hadoop HBase
>          Issue Type: Bug
>          Components: client
>    Affects Versions: 0.2.1, 0.3.0
>         Environment: Linux CentOS 5.1 x86_64 / JDK 1.6
>            Reporter: Andrew Purtell
>            Assignee: Andrew Purtell
>            Priority: Minor
>             Fix For: 0.2.1, 0.3.0
>
>         Attachments: 729.patch
>
>
> While writing a testcase for HBASE-62, I observed that table metadata is cached as part of the region information cached  client side. This cached region information (and therefore table metadata) is not directly invalidated by disable/enable table, so to get up to date metadata the client may have to use a scanner over .META. directly using the meta visitor. Ideally other client code -- for example the support for HBASE-62 -- should be able to invalidate entries as necessary, so then the next HTable.getTableDescriptor() would go to meta to return up to date information instead of incorrectly reusing outdated information from the cache.

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