You are viewing a plain text version of this content. The canonical link for it is here.
Posted to common-dev@hadoop.apache.org by "James Kennedy (JIRA)" <ji...@apache.org> on 2007/06/06 19:53:26 UTC

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

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.


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

Posted by "Jim Kellerman (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "Hadoop QA (JIRA)" <ji...@apache.org>.
    [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.


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

Posted by "stack (JIRA)" <ji...@apache.org>.
     [ 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.