[jira] Created: (HADOOP-1469) Asynchronous table creation

classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

[jira] Created: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
Asynchronous table creation
---------------------------

                 Key: HADOOP-1469
                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
             Project: Hadoop
          Issue Type: New Feature
          Components: contrib/hbase
    Affects Versions: 0.13.0
            Reporter: James Kennedy
            Priority: Minor


In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.

Can something like the following method to HClient be added?

/**
         * Creates a new table but does not block and wait for it to come online.
         *
         * @param desc -
         *            table descriptor for table
         *
         * @throws IllegalArgumentException -
         *             if the table name is reserved
         * @throws MasterNotRunningException -
         *             if master is not running
         * @throws NoServerForRegionException -
         *             if root region is not being served
         * @throws IOException
         */
        public synchronized void createTableAsync(HTableDescriptor desc)
                        throws IOException {
                checkReservedTableName(desc.getName());
                checkMaster();
                try {
                        this.master.createTable(desc);

                } catch (RemoteException e) {
                        handleRemoteException(e);
                }
        }

which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.



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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Attachment: hadoop1469.patch

+1.

I just tried it out.  Have attached slightly refactored version.

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Assignee: stack
      Status: Patch Available  (was: Open)

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Status: In Progress  (was: Patch Available)

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Status: Patch Available  (was: In Progress)

Submitting a 3rd time to see if Hudson notices.

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Status: Patch Available  (was: In Progress)

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Status: In Progress  (was: Patch Available)

Playing w/ Hudson.  Seeing if resubmit of this patch gets noticed by the patch build service

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Status: Patch Available  (was: In Progress)

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

stack updated HADOOP-1469:
--------------------------

    Status: In Progress  (was: Patch Available)

Resubmitting.  Seeing if hudson will build this submission (its failed to notice the last 2 or 3 patch submissions)

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

    [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12503970 ]

Hadoop QA commented on HADOOP-1469:
-----------------------------------

+1

http://issues.apache.org/jira/secure/attachment/12359101/hadoop1469.patch applied and successfully tested against trunk revision r546320.

Test results:   http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/272/testReport/
Console output: http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Patch/272/console

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Updated: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

     [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Jim Kellerman updated HADOOP-1469:
----------------------------------

    Resolution: Fixed
        Status: Resolved  (was: Patch Available)

I just committed this. Thanks Michael.

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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

Reply | Threaded
Open this post in threaded view
|

[jira] Commented: (HADOOP-1469) Asynchronous table creation

David Eric Pugh (Jira)
In reply to this post by David Eric Pugh (Jira)

    [ https://issues.apache.org/jira/browse/HADOOP-1469?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12504465 ]

Hadoop QA commented on HADOOP-1469:
-----------------------------------

Integrated in Hadoop-Nightly #120 (See [http://lucene.zones.apache.org:8080/hudson/job/Hadoop-Nightly/120/])

> Asynchronous table creation
> ---------------------------
>
>                 Key: HADOOP-1469
>                 URL: https://issues.apache.org/jira/browse/HADOOP-1469
>             Project: Hadoop
>          Issue Type: New Feature
>          Components: contrib/hbase
>    Affects Versions: 0.13.0
>            Reporter: James Kennedy
>            Assignee: stack
>            Priority: Minor
>         Attachments: hadoop1469.patch
>
>
> In some of my code i found it efficient to create a new table without immediately requiring (blocking for) the client to have references to it's HRegions.  Effectively this requires that the client update the table info only as needed.
> Can something like the following method to HClient be added?
> /**
> * Creates a new table but does not block and wait for it to come online.
> *
> * @param desc -
> *            table descriptor for table
> *
> * @throws IllegalArgumentException -
> *             if the table name is reserved
> * @throws MasterNotRunningException -
> *             if master is not running
> * @throws NoServerForRegionException -
> *             if root region is not being served
> * @throws IOException
> */
> public synchronized void createTableAsync(HTableDescriptor desc)
> throws IOException {
> checkReservedTableName(desc.getName());
> checkMaster();
> try {
> this.master.createTable(desc);
> } catch (RemoteException e) {
> handleRemoteException(e);
> }
> }
> which is basically the same as createTable() except without the findServersForTable(desc.getName())  part.

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