You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Clint Morgan (JIRA)" <ji...@apache.org> on 2009/07/22 00:29:14 UTC

[jira] Created: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

FilterList writable only works for HBaseObjectWritable defined types
--------------------------------------------------------------------

                 Key: HBASE-1680
                 URL: https://issues.apache.org/jira/browse/HBASE-1680
             Project: Hadoop HBase
          Issue Type: Bug
            Reporter: Clint Morgan
             Fix For: 0.20.0


So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)

java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
	at $Proxy70.openScanner(Unknown Source)
	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)


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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Clint Morgan commented on HBASE-1680:
-------------------------------------

Works for me. For Writable it does write the class name

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Jonathan Gray commented on HBASE-1680:
--------------------------------------

How can you have user-written filters unless they are compiled into the server-side jar?

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Resolved: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

stack resolved HBASE-1680.
--------------------------

      Resolution: Fixed
    Hadoop Flags: [Reviewed]

Committed.

Seems fine to me.

I just hate the bit above it where we create an HBaseConfiguration on serialization/deserialization but its rare enough in the scheme of things.

Thanks for the patch Clint.

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Clint Morgan commented on HBASE-1680:
-------------------------------------

Then we can't have a filter list composed of user written filters, which seems a common case...

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Jonathan Gray commented on HBASE-1680:
--------------------------------------

Right, so you can't add them dynamically once HBase is running.  That's what HBASE-1288 is all about, using some kind of reflection or other fanciness.

I got it now.  Will this not have a problem when deserializing on the server-side because it doesn't know what class it is and we aren't writing out the class name?

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Clint Morgan commented on HBASE-1680:
-------------------------------------

They just need to be in the server-side classpath. I've been doing this for a while. 

Similarly I pass custom comparators to the ValueFilter where the custom comparator is in the server-side classpath. The write method in value filter supports this...

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Jonathan Gray commented on HBASE-1680:
--------------------------------------

@Clint, Are you trying to send custom Filter implementations over the wire as well?  Maybe I'm confused about what you're trying to do, could you describe?

We are looking at how to do dynamic filters in HBASE-1288.

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Jonathan Gray commented on HBASE-1680:
--------------------------------------

@Clint, don't we just need to add FilterList?

In HbaseObjectWritable:

{code}
+    addToMap(FilterList.class, code++);
{code}

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Commented: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Jonathan Gray commented on HBASE-1680:
--------------------------------------

Okay.  Anyone else want to chime in?  If no other objections, let's commit Clint's patch since it works for him.

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Updated: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Clint Morgan updated HBASE-1680:
--------------------------------

    Attachment: 1680.patch

this fixed it for me

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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


[jira] Updated: (HBASE-1680) FilterList writable only works for HBaseObjectWritable defined types

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

Jonathan Gray updated HBASE-1680:
---------------------------------

    Attachment: HBASE-1680-v2.patch

Clint, could you test with this patch instead?

> FilterList writable only works for HBaseObjectWritable defined types
> --------------------------------------------------------------------
>
>                 Key: HBASE-1680
>                 URL: https://issues.apache.org/jira/browse/HBASE-1680
>             Project: Hadoop HBase
>          Issue Type: Bug
>            Reporter: Clint Morgan
>             Fix For: 0.20.0
>
>         Attachments: 1680.patch, HBASE-1680-v2.patch
>
>
> So I can't have a filter list of my own filters. (Also a filter list of filter lists does not work because FilterList is not in HBaseObjectWritable)
> java.lang.UnsupportedOperationException: No code for unexpected class org.apache.hadoop.hbase.filter.FilterList
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeClassCode(HbaseObjectWritable.java:246)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:273)
> 	at org.apache.hadoop.hbase.filter.FilterList.write(FilterList.java:214)
> 	at org.apache.hadoop.hbase.client.Scan.write(Scan.java:532)
> 	at org.apache.hadoop.hbase.io.HbaseObjectWritable.writeObject(HbaseObjectWritable.java:323)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invocation.write(HBaseRPC.java:184)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient$Connection.sendParam(HBaseClient.java:475)
> 	at org.apache.hadoop.hbase.ipc.HBaseClient.call(HBaseClient.java:708)
> 	at org.apache.hadoop.hbase.ipc.HBaseRPC$Invoker.invoke(HBaseRPC.java:328)
> 	at $Proxy70.openScanner(Unknown Source)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionScannerCallable.openScanner(TransactionScannerCallable.java:46)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:74)
> 	at org.apache.hadoop.hbase.client.ScannerCallable.call(ScannerCallable.java:32)
> 	at org.apache.hadoop.hbase.client.HConnectionManager$TableServers.getRegionServerWithRetries(HConnectionManager.java:926)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.nextScanner(HTable.java:1859)
> 	at org.apache.hadoop.hbase.client.HTable$ClientScanner.initialize(HTable.java:1807)
> 	at org.apache.hadoop.hbase.client.transactional.TransactionalTable.getScanner(TransactionalTable.java:166)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:303)
> 	at net.troove.ddbc.hbase.HBaseHelper$7.call(HBaseHelper.java:1)
> 	at net.troove.utils.RetryUtils.callWithRetry(RetryUtils.java:40)

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