HBase
  1. HBase
  2. HBASE-4271

Clean up coprocessor's handlings of table operations

    Details

    • Type: Bug Bug
    • Status: Resolved
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 0.92.0
    • Component/s: Coprocessors
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Couple fixes we can do w.r.t coprocessor's handlings of table operations.

      1. Honor MasterObserver's requests to bypass default action.
      2. Fix up the function signatures for preCreateTable to use HRegionInfo as parameter instead.
      3. Invoke postEnableTable, etc. methods after the operations are done.

        Activity

        Hide
        Ming Ma added a comment -

        After looking at the issue more, perhaps we don't want to honor preCreateTable and other async table operations' request to bypass default action, at least for now.

        HBaseAdmin's createTable waits for the completion of the operation, so it assumes the default action will take place. If coprocessor bypasses the default action, HBaseAdmin just wait there.

        If we really need this, we can modify HMasterInterface::createTable to pass a flag indicating if HBaseAdmin should wait or not. At this point, given there is no requirement, we can keep the interface and not to honor bypass for createTable, etc.

        Show
        Ming Ma added a comment - After looking at the issue more, perhaps we don't want to honor preCreateTable and other async table operations' request to bypass default action, at least for now. HBaseAdmin's createTable waits for the completion of the operation, so it assumes the default action will take place. If coprocessor bypasses the default action, HBaseAdmin just wait there. If we really need this, we can modify HMasterInterface::createTable to pass a flag indicating if HBaseAdmin should wait or not. At this point, given there is no requirement, we can keep the interface and not to honor bypass for createTable, etc.
        Hide
        jiraposter@reviews.apache.org added a comment -

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/
        -----------------------------------------------------------

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary
        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.
        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.
        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs


        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917
        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917

        Diff: https://reviews.apache.org/r/1691/diff

        Testing
        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/#review1729
        -----------------------------------------------------------

        Looks really good, Ming. See just my comments on the preCreateTable and postCreateTable hooks.

        Nice work beefing up javadoc and clearly indicating where bypass is not supported as well.

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        <https://reviews.apache.org/r/1691/#comment3963>

        Move above @param tags?

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        <https://reviews.apache.org/r/1691/#comment3944>

        I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings.

        I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired.

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        <https://reviews.apache.org/r/1691/#comment3945>

        Given the need to pass HTableDescriptor to the preCreateTable method, I suppose we should also pass it here.

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
        <https://reviews.apache.org/r/1691/#comment3964>

        Nice additional tests. I like the checks for bypass behavior.

        • Gary

        On 2011-09-01 07:19:49, Ming Ma wrote:

        -----------------------------------------------------------

        This is an automatically generated e-mail. To reply, visit:

        https://reviews.apache.org/r/1691/

        -----------------------------------------------------------

        (Updated 2011-09-01 07:19:49)

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary

        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.

        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.

        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs

        -----

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917

        Diff: https://reviews.apache.org/r/1691/diff

        Testing

        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/#review1729 ----------------------------------------------------------- Looks really good, Ming. See just my comments on the preCreateTable and postCreateTable hooks. Nice work beefing up javadoc and clearly indicating where bypass is not supported as well. http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java < https://reviews.apache.org/r/1691/#comment3963 > Move above @param tags? http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java < https://reviews.apache.org/r/1691/#comment3944 > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings. I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired. http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java < https://reviews.apache.org/r/1691/#comment3945 > Given the need to pass HTableDescriptor to the preCreateTable method, I suppose we should also pass it here. http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java < https://reviews.apache.org/r/1691/#comment3964 > Nice additional tests. I like the checks for bypass behavior. Gary On 2011-09-01 07:19:49, Ming Ma wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-01 07:19:49) Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs ----- http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        On 2011-09-02 22:58:46, Gary Helmling wrote:

        > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java, line 40

        > <https://reviews.apache.org/r/1691/diff/2/?file=37257#file37257line40>

        >

        > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings.

        >

        > I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired.

        Thanks, Gray for the review. I will fix that soon. One thing to note is HBaseAdmin verifies the number of requested regions matches the number of regions created. Thus if preCreateTable modifies the size of HRegionInfo[], it will cause issue with HBaseAdmin. If that happens, We could use the default HRegionInfo[] and document this behavior for preCreateTable.

        • Ming

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/#review1729
        -----------------------------------------------------------

        On 2011-09-01 07:19:49, Ming Ma wrote:

        -----------------------------------------------------------

        This is an automatically generated e-mail. To reply, visit:

        https://reviews.apache.org/r/1691/

        -----------------------------------------------------------

        (Updated 2011-09-01 07:19:49)

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary

        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.

        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.

        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs

        -----

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917

        Diff: https://reviews.apache.org/r/1691/diff

        Testing

        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - On 2011-09-02 22:58:46, Gary Helmling wrote: > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java , line 40 > < https://reviews.apache.org/r/1691/diff/2/?file=37257#file37257line40 > > > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings. > > I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired. Thanks, Gray for the review. I will fix that soon. One thing to note is HBaseAdmin verifies the number of requested regions matches the number of regions created. Thus if preCreateTable modifies the size of HRegionInfo[], it will cause issue with HBaseAdmin. If that happens, We could use the default HRegionInfo[] and document this behavior for preCreateTable. Ming ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/#review1729 ----------------------------------------------------------- On 2011-09-01 07:19:49, Ming Ma wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-01 07:19:49) Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs ----- http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        On 2011-09-02 22:58:46, Gary Helmling wrote:

        > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java, line 40

        > <https://reviews.apache.org/r/1691/diff/2/?file=37257#file37257line40>

        >

        > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings.

        >

        > I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired.

        Ming Ma wrote:

        Thanks, Gray for the review. I will fix that soon. One thing to note is HBaseAdmin verifies the number of requested regions matches the number of regions created. Thus if preCreateTable modifies the size of HRegionInfo[], it will cause issue with HBaseAdmin. If that happens, We could use the default HRegionInfo[] and document this behavior for preCreateTable.

        Hmm, we may be starting to wade into deeper water here. We could change HMasterInterface#createTable to return an int, indicating the number of regions that are actually being created. Then HBaseAdmin could use that value when checking for region counts. Or even have createTable return HRegionInfo[]? Either would make this an incompatible change at the RPC level, so we would need to flag it in JIRA.

        Or we could drop my suggestion to have preCreateTable return HRegionInfo[]. It was just a thought and I don't have any solid need for it. What do you think?

        • Gary

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/#review1729
        -----------------------------------------------------------

        On 2011-09-01 07:19:49, Ming Ma wrote:

        -----------------------------------------------------------

        This is an automatically generated e-mail. To reply, visit:

        https://reviews.apache.org/r/1691/

        -----------------------------------------------------------

        (Updated 2011-09-01 07:19:49)

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary

        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.

        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.

        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs

        -----

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917

        Diff: https://reviews.apache.org/r/1691/diff

        Testing

        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - On 2011-09-02 22:58:46, Gary Helmling wrote: > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java , line 40 > < https://reviews.apache.org/r/1691/diff/2/?file=37257#file37257line40 > > > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings. > > I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired. Ming Ma wrote: Thanks, Gray for the review. I will fix that soon. One thing to note is HBaseAdmin verifies the number of requested regions matches the number of regions created. Thus if preCreateTable modifies the size of HRegionInfo[], it will cause issue with HBaseAdmin. If that happens, We could use the default HRegionInfo[] and document this behavior for preCreateTable. Hmm, we may be starting to wade into deeper water here. We could change HMasterInterface#createTable to return an int, indicating the number of regions that are actually being created. Then HBaseAdmin could use that value when checking for region counts. Or even have createTable return HRegionInfo[]? Either would make this an incompatible change at the RPC level, so we would need to flag it in JIRA. Or we could drop my suggestion to have preCreateTable return HRegionInfo[]. It was just a thought and I don't have any solid need for it. What do you think? Gary ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/#review1729 ----------------------------------------------------------- On 2011-09-01 07:19:49, Ming Ma wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-01 07:19:49) Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs ----- http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        On 2011-09-02 22:58:46, Gary Helmling wrote:

        > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java, line 40

        > <https://reviews.apache.org/r/1691/diff/2/?file=37257#file37257line40>

        >

        > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings.

        >

        > I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired.

        Ming Ma wrote:

        Thanks, Gray for the review. I will fix that soon. One thing to note is HBaseAdmin verifies the number of requested regions matches the number of regions created. Thus if preCreateTable modifies the size of HRegionInfo[], it will cause issue with HBaseAdmin. If that happens, We could use the default HRegionInfo[] and document this behavior for preCreateTable.

        Gary Helmling wrote:

        Hmm, we may be starting to wade into deeper water here. We could change HMasterInterface#createTable to return an int, indicating the number of regions that are actually being created. Then HBaseAdmin could use that value when checking for region counts. Or even have createTable return HRegionInfo[]? Either would make this an incompatible change at the RPC level, so we would need to flag it in JIRA.

        Or we could drop my suggestion to have preCreateTable return HRegionInfo[]. It was just a thought and I don't have any solid need for it. What do you think?

        I will vote for not making such change for now to allow preCreateTable return HRegionInfo[], given we don't have a use case for it. That is also the reason preCreateTable can't bypass default action.

        • Ming

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/#review1729
        -----------------------------------------------------------

        On 2011-09-01 07:19:49, Ming Ma wrote:

        -----------------------------------------------------------

        This is an automatically generated e-mail. To reply, visit:

        https://reviews.apache.org/r/1691/

        -----------------------------------------------------------

        (Updated 2011-09-01 07:19:49)

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary

        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.

        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.

        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs

        -----

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917

        Diff: https://reviews.apache.org/r/1691/diff

        Testing

        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - On 2011-09-02 22:58:46, Gary Helmling wrote: > http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java , line 40 > < https://reviews.apache.org/r/1691/diff/2/?file=37257#file37257line40 > > > I think we still need to pass HTableDescriptor here. It's part of what's being created. And I actually have a case right now where I need to be able to tweak the table settings. > > I also think we should change the return type on this to HRegionInfo[]. This would allow MasterObserver implementations to modify the initial table regions, if desired. Ming Ma wrote: Thanks, Gray for the review. I will fix that soon. One thing to note is HBaseAdmin verifies the number of requested regions matches the number of regions created. Thus if preCreateTable modifies the size of HRegionInfo[], it will cause issue with HBaseAdmin. If that happens, We could use the default HRegionInfo[] and document this behavior for preCreateTable. Gary Helmling wrote: Hmm, we may be starting to wade into deeper water here. We could change HMasterInterface#createTable to return an int, indicating the number of regions that are actually being created. Then HBaseAdmin could use that value when checking for region counts. Or even have createTable return HRegionInfo[]? Either would make this an incompatible change at the RPC level, so we would need to flag it in JIRA. Or we could drop my suggestion to have preCreateTable return HRegionInfo[]. It was just a thought and I don't have any solid need for it. What do you think? I will vote for not making such change for now to allow preCreateTable return HRegionInfo[], given we don't have a use case for it. That is also the reason preCreateTable can't bypass default action. Ming ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/#review1729 ----------------------------------------------------------- On 2011-09-01 07:19:49, Ming Ma wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-01 07:19:49) Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs ----- http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1163917 http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1163917 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/
        -----------------------------------------------------------

        (Updated 2011-09-03 01:47:00.947743)

        Review request for hbase, Gary Helmling and Ted Yu.

        Changes
        -------

        Here is the update.

        Summary
        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.
        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.
        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs (updated)


        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1164783
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1164783
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1164783
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1164783
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1164783
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1164783
        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1164783

        Diff: https://reviews.apache.org/r/1691/diff

        Testing
        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-03 01:47:00.947743) Review request for hbase, Gary Helmling and Ted Yu. Changes ------- Here is the update. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs (updated) http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1164783 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/#review1775
        -----------------------------------------------------------

        Ship it!

        Looks good Ming!

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        <https://reviews.apache.org/r/1691/#comment4052>

        I think this and the following line should be swapped, but that can be fixed on commit.

        • Gary

        On 2011-09-03 01:47:00, Ming Ma wrote:

        -----------------------------------------------------------

        This is an automatically generated e-mail. To reply, visit:

        https://reviews.apache.org/r/1691/

        -----------------------------------------------------------

        (Updated 2011-09-03 01:47:00)

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary

        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.

        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.

        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs

        -----

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1164783

        Diff: https://reviews.apache.org/r/1691/diff

        Testing

        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/#review1775 ----------------------------------------------------------- Ship it! Looks good Ming! http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java < https://reviews.apache.org/r/1691/#comment4052 > I think this and the following line should be swapped, but that can be fixed on commit. Gary On 2011-09-03 01:47:00, Ming Ma wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-03 01:47:00) Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs ----- http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1164783 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        jiraposter@reviews.apache.org added a comment -

        -----------------------------------------------------------
        This is an automatically generated e-mail. To reply, visit:
        https://reviews.apache.org/r/1691/#review1804
        -----------------------------------------------------------

        Ship it!

        I took a quick look. +1

        • Michael

        On 2011-09-03 01:47:00, Ming Ma wrote:

        -----------------------------------------------------------

        This is an automatically generated e-mail. To reply, visit:

        https://reviews.apache.org/r/1691/

        -----------------------------------------------------------

        (Updated 2011-09-03 01:47:00)

        Review request for hbase, Gary Helmling and Ted Yu.

        Summary

        -------

        Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list.

        1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs.

        2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn.

        This addresses bug HBASE-4271.

        https://issues.apache.org/jira/browse/HBASE-4271

        Diffs

        -----

        http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1164783

        http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1164783

        Diff: https://reviews.apache.org/r/1691/diff

        Testing

        -------

        Unit tests

        Thanks,

        Ming

        Show
        jiraposter@reviews.apache.org added a comment - ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/#review1804 ----------------------------------------------------------- Ship it! I took a quick look. +1 Michael On 2011-09-03 01:47:00, Ming Ma wrote: ----------------------------------------------------------- This is an automatically generated e-mail. To reply, visit: https://reviews.apache.org/r/1691/ ----------------------------------------------------------- (Updated 2011-09-03 01:47:00) Review request for hbase, Gary Helmling and Ted Yu. Summary ------- Along with coprocessor work, also fix HBaseAdmin.deleteTable so that it waits until the table is removed from HMaster's HTableDescriptor list. 1. Fix preCreateTable, postCreateTable, preAssign, postAssign, preUnassign APIs. 2. Make coprocessor honor bypass request from preMove, preAddColumn, preModifyColumn, preDeleteColumn. This addresses bug HBASE-4271 . https://issues.apache.org/jira/browse/HBASE-4271 Diffs ----- http://svn.apache.org/repos/asf/hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java 1164783 http://svn.apache.org/repos/asf/hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java 1164783 Diff: https://reviews.apache.org/r/1691/diff Testing ------- Unit tests Thanks, Ming
        Hide
        Gary Helmling added a comment -

        Patch committed to trunk.

        Show
        Gary Helmling added a comment - Patch committed to trunk.
        Hide
        Gary Helmling added a comment -

        Committed to trunk. Thanks for the nice patch, Ming.

        Show
        Gary Helmling added a comment - Committed to trunk. Thanks for the nice patch, Ming.
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2187 (See https://builds.apache.org/job/HBase-TRUNK/2187/)
        HBASE-4271 Clean up coprocessor handling of table operations

        garyh :
        Files :

        • /hbase/trunk/CHANGES.txt
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java
        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java
        • /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2187 (See https://builds.apache.org/job/HBase-TRUNK/2187/ ) HBASE-4271 Clean up coprocessor handling of table operations garyh : Files : /hbase/trunk/CHANGES.txt /hbase/trunk/src/main/java/org/apache/hadoop/hbase/client/HBaseAdmin.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/BaseMasterObserver.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/coprocessor/MasterObserver.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/HMaster.java /hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/MasterCoprocessorHost.java /hbase/trunk/src/test/java/org/apache/hadoop/hbase/coprocessor/TestMasterObserver.java

          People

          • Assignee:
            Ming Ma
            Reporter:
            Ming Ma
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development