Bug 779973 (SOA-2333) - SOA-P 5.1 ER1 - teiid adminshell - getAdmin() returns: ERROR org.teiid.core.TeiidRuntimeException: toString
Summary: SOA-P 5.1 ER1 - teiid adminshell - getAdmin() returns: ERROR org.teiid.core.T...
Keywords:
Status: CLOSED NEXTRELEASE
Alias: SOA-2333
Product: JBoss Enterprise SOA Platform 5
Classification: JBoss
Component: EDS
Version: 5.1.0.ER1
Hardware: Unspecified
OS: Unspecified
high
high
Target Milestone: ---
: 5.1.0.ER3
Assignee: Van Halbert
QA Contact:
URL: http://jira.jboss.org/jira/browse/SOA...
Whiteboard:
Depends On:
Blocks:
TreeView+ depends on / blocked
 
Reported: 2010-09-21 01:28 UTC by Len DiMaggio
Modified: 2010-10-21 18:36 UTC (History)
0 users

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Clone Of:
Environment:
Last Closed: 2010-10-21 18:36:36 UTC
Type: Bug


Attachments (Terms of Use)


Links
System ID Private Priority Status Summary Last Updated
Red Hat Issue Tracker SOA-2333 0 None None None Never

Description Len DiMaggio 2010-09-21 01:28:12 UTC
project_key: SOA

 sh ./adminshell.sh 
======================================================================

  Teiid AdminShell Bootstrap Environment

  TEIID_HOME  = /jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell
  CLASSPATH   = /jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell/lib/patches/*:/jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell/lib/teiid-adminshell-7.1.1.Alpha1.jar:/jboss/local/51_ER1/jboss-soa-p.5/teiid/adminshell/lib/*
  JAVA        = /usr/lib/jvm/java-1.6.0-openjdk-1.6.0.0//bin/java

======================================================================

===> [import static org.teiid.adminshell.AdminShell.*; import static org.teiid.adminshell.GroovySqlExtensions.*; import org.teiid.adminapi.*;]
Groovy Shell (1.7.2, JVM: 1.6.0_0)
Type 'help' or '\h' for help.
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
groovy:000> connectAsAdmin("mm://localhost:31443", "admin", "admin", "conn-1")
===> null
groovy:000> getAllConnections()                                               
===> [conn-1]
groovy:000> getAdmin()                                                        
ERROR org.teiid.core.TeiidRuntimeException:
toString
        at org.teiid.client.util.ExceptionUtil.convertException (ExceptionUtil.java:80)
        at org.teiid.net.socket.SocketServerInstanceImpl$RemoteInvocationHandler.invoke (SocketServerInstanceImpl.java:365)
        at org.teiid.net.socket.SocketServerConnection$1.invoke (SocketServerConnection.java:216)
        at $Proxy7.toString (Unknown Source)
        at org.teiid.adminapi.AdminFactory$AdminProxy.invoke (AdminFactory.java:80)
        at $Proxy7.toString (Unknown Source)
        at java_lang_String$valueOf.call (Unknown Source)
        at java_lang_String$valueOf.call (Unknown Source)
        at java_lang_Runnable$run.call (Unknown Source)
        at org.teiid.adminshell.GroovyAdminShell.main (GroovyAdminShell.java:30)

Comment 1 Len DiMaggio 2010-09-21 01:32:29 UTC
From the server.log:

2010-09-20 21:05:12,779 DEBUG [org.teiid.TRANSPORT] (New I/O server worker #2-1) processing message:MessageHolder: contents=javax.crypto.SealedObject@184f3d2
2010-09-20 21:05:12,779 DEBUG [org.teiid.SECURITY] (New I/O server worker #2-1) Ping Kk0mPtvgEWRN
2010-09-20 21:05:12,779 DEBUG [org.teiid.TRANSPORT] (New I/O server worker #2-1)  message: MessageHolder: contents=javax.crypto.SealedObject@1a390fc for request ID:3
2010-09-20 21:05:12,781 DEBUG [org.teiid.TRANSPORT] (New I/O server worker #2-1) processing message:MessageHolder: contents=org.teiid.net.socket.ServiceInvocationStruct@1e4aa02
2010-09-20 21:05:12,781 ERROR [org.teiid.ADMIN_API] (New I/O server worker #2-1) Unexpected exception for session Kk0mPtvgEWRN
java.lang.NoSuchMethodException: toString
        at org.teiid.core.util.ReflectionHelper.findBestMethodWithSignature(ReflectionHelper.java:174)
        at org.teiid.core.util.ReflectionHelper.findBestMethodOnTarget(ReflectionHelper.java:91)
        at org.teiid.transport.ServerWorkItem.run(ServerWorkItem.java:78)
        at org.teiid.dqp.internal.process.DQPWorkContext.runInContext(DQPWorkContext.java:189)
        at org.teiid.transport.SocketClientInstance.processMessagePacket(SocketClientInstance.java:160)
        at org.teiid.transport.SocketClientInstance.receivedMessage(SocketClientInstance.java:149)
        at org.teiid.transport.SSLAwareChannelHandler.messageReceived(SSLAwareChannelHandler.java:210)
        at org.jboss.netty.channel.SimpleChannelHandler.handleUpstream(SimpleChannelHandler.java:100)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at org.jboss.netty.handler.stream.ChunkedWriteHandler.handleUpstream(ChunkedWriteHandler.java:144)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at org.jboss.netty.channel.DefaultChannelPipeline$DefaultChannelHandlerContext.sendUpstream(DefaultChannelPipeline.java:754)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
        at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
        at org.jboss.netty.channel.SimpleChannelUpstreamHandler.handleUpstream(SimpleChannelUpstreamHandler.java:80)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:545)
        at org.jboss.netty.channel.DefaultChannelPipeline.sendUpstream(DefaultChannelPipeline.java:540)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
        at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
        at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:340)
        at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:272)
        at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:192)
        at org.jboss.netty.util.ThreadRenamingRunnable.run(ThreadRenamingRunnable.java:108)
        at org.jboss.netty.util.internal.IoWorkerRunnable.run(IoWorkerRunnable.java:46)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1110)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:603)
        at java.lang.Thread.run(Thread.java:636)


Comment 2 Van Halbert 2010-09-21 17:25:42 UTC
Link: Added: This issue depends TEIID-1270


Comment 3 Van Halbert 2010-10-04 12:17:38 UTC
According to Teiid, this has been resolved and will be in the ER3 build.

Comment 4 Len DiMaggio 2010-10-04 13:15:12 UTC
The specific error originally reported in this JIRA is resolved in ER2:

groovy:000> getAdmin()           
===> org.teiid.adminapi.AdminFactory$AdminProxy@1549ceb

But - is the fix only partially implemented? using the object returned by getAdmin() returns this:

groovy:000>  getAdmin().getAllConnections()                                     
ERROR groovy.lang.MissingMethodException:
No signature of method: $Proxy7.getAllConnections() is applicable for argument types: () values: []
        at groovysh_evaluate.run (groovysh_evaluate:3)
        ...


Comment 5 Ramesh Reddy 2010-10-06 15:35:55 UTC
AdminShell commands != Admin.Interface methods

Teiid exposes a Admin interface (http://anonsvn.jboss.org/repos/teiid/trunk/client/src/main/java/org/teiid/adminapi/Admin.java) for administration purposes. However in the AdinShell for the usability purposes exposes all the Admin methods from this interface along with some other methods for the ease of interactive/script environments. For example:

deployVDB on the Admin interface takes a InputStream as input.

the same method on AdminShell takes, String for the file name of the VDB. So from the above "getAllConnections()" is not a method on the "Admin" interface, it is a AdminShell method.

I have updated the "help" text on this method to specify what this method returns.

Comment 6 Len DiMaggio 2010-10-21 18:36:36 UTC
Verified fixed in 5.1 ER3 build.


Note You need to log in before you can comment on or make changes to this bug.