[JBoss JIRA] Created: (JBREM-580) detection can not be used with ssl based transports
by Tom Elrod (JIRA)
detection can not be used with ssl based transports
---------------------------------------------------
Key: JBREM-580
URL: http://jira.jboss.com/jira/browse/JBREM-580
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: detection
Affects Versions: 2.0.0.CR1 (Boon)
Reporter: Tom Elrod
Assigned To: Tom Elrod
Priority: Critical
Fix For: 2.0.0.GA (Boon)
As part of detection process, the detector will try to make a ping invocation on a server when it suspects the server to have gone down. It does this by using the the locator url provided in the detection message broadcasted. However, with ssl transport, just having invoker locator url is not enough. Also need the ssl info, which can not be included in the detection message.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 4 months
[JBoss JIRA] Created: (JBREM-586) socket client invoker connection pooling not bounded
by Tom Elrod (JIRA)
socket client invoker connection pooling not bounded
----------------------------------------------------
Key: JBREM-586
URL: http://jira.jboss.com/jira/browse/JBREM-586
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: transport
Affects Versions: 2.0.0.GA (Boon)
Reporter: Tom Elrod
Assigned To: Tom Elrod
Fix For: 2.0.0.GA (Boon)
Due to code change for JBREM-576, the socket client invoker's bounded connection pooling was broken and the pool became unbounded (due to reducing the scope of the pool being sychronized within MicroSocketClientInvoker.getConnection(). The fix for JBREM-576 needs to remain (so do not get dealock on disconnect of one client invoker while another is still in use). However, will also need to synchronize the increase/decrease of number of pooled connections in use.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 4 months
[JBoss JIRA] Created: (JBREM-575) local client invoker should convert itself to remote client invoker when being serialized
by Tom Elrod (JIRA)
local client invoker should convert itself to remote client invoker when being serialized
-----------------------------------------------------------------------------------------
Key: JBREM-575
URL: http://jira.jboss.com/jira/browse/JBREM-575
Project: JBoss Remoting
Issue Type: Feature Request
Security Level: Public (Everyone can see)
Components: general
Affects Versions: 2.0.0.CR1 (Boon)
Reporter: Tom Elrod
Assigned To: Tom Elrod
Fix For: 2.0.0.GA (Boon)
Is possible, especially if using transporters, to send a remoting client over the wire to be used somewhere else transparently. However, this currently only works if the client invoker is a remote client invoker. If is a local client invoker, then obviously won't be able to make local reference to the server since would be in another process. Need to change behavior of local client invoker to during serialization/deserialization to convert itself to a remote client invoker so can be passed around transparently over the network.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 4 months
[JBoss JIRA] Created: (JBREM-576) deadlock with socket invoker
by Tom Elrod (JIRA)
deadlock with socket invoker
----------------------------
Key: JBREM-576
URL: http://jira.jboss.com/jira/browse/JBREM-576
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: transport
Affects Versions: 2.0.0.CR1 (Boon)
Reporter: Tom Elrod
Assigned To: Tom Elrod
Priority: Critical
Fix For: 2.0.0.GA (Boon)
---THIS THREAD OWNS THE LOCK ON LinkedList<E> (id=38)---
Thread [Thread-3666] (Suspended)
owns: BufferedInputStream (id=49)
owns: LinkedList<E> (id=38)
SocketInputStream.socketRead0(FileDescriptor, byte[], int, int, int) line: not available [native method]
SocketInputStream.read(byte[], int, int) line: 129
BufferedInputStream.fill() line: 218
BufferedInputStream.read1(byte[], int, int) line: 256
BufferedInputStream.read(byte[], int, int) line: 313
ObjectInputStream$PeekInputStream.read(byte[], int, int) line: 2217
ObjectInputStream$PeekInputStream.readFully(byte[], int, int) line: 2230
ObjectInputStream$BlockDataInputStream.readShort() line: 2698
ObjectInputStreamWithClassLoader(ObjectInputStream).readStreamHeader() line: 750
ObjectInputStreamWithClassLoader(ObjectInputStream).<init>(InputStream) line: 268
ObjectInputStreamWithClassLoader.<init>(InputStream, ClassLoader) line: 73
JavaSerializationManager.createInput(InputStream, ClassLoader) line: 52
ClientSocketWrapper.createInputStream(String, Socket) line: 83
ClientSocketWrapper.createStreams(Socket, Map) line: 76
ClientSocketWrapper.<init>(Socket, Map, Integer) line: 54
GeneratedConstructorAccessor32.newInstance(Object[]) line: not available
DelegatingConstructorAccessorImpl.newInstance(Object[]) line: 27
Constructor<T>.newInstance(Object...) line: 494
SocketClientInvoker.createClientSocket(Socket, int, Map) line: 158
SocketClientInvoker(MicroSocketClientInvoker).getConnection() line: 688
SocketClientInvoker(MicroSocketClientInvoker).transport(String, Object, Map, Marshaller, UnMarshaller) line: 314
SocketClientInvoker(MicroRemoteClientInvoker).invoke(InvocationRequest) line: 116
Client.invoke(Object, Map, InvokerLocator) line: 612
Client.invoke(Object, Map) line: 604
JBossRemotingRemoteCommunicator.send(Command) line: 430
GenericCommandClient(AbstractCommandClient).invoke(Command) line: 167
ClientCommandSender.send(Command) line: 820
ClientCommandSenderTask.send(ClientCommandSender, CommandAndCallback) line: 203
ClientCommandSenderTask.call() line: 103
FutureResult$1.run() line: not available
Thread.run() line: 595
---THE NEXT TWO THREADS ARE WAITING ON THAT THREAD FOR LinkedList<E> id=38---
Thread [main] (Suspended)
owns: HashMap<K,V> (id=53)
owns: SSLSocketClientInvoker (id=54)
owns: Object (id=55)
owns: Object (id=56)
owns: boolean[] (id=43)
waiting for: LinkedList<E> (id=38)
MicroSocketClientInvoker.clearPool(ServerAddress) line: 531
MicroSocketClientInvoker.clearPools() line: 563
SSLSocketClientInvoker(MicroSocketClientInvoker).handleDisconnect() line: 275
SSLSocketClientInvoker(MicroRemoteClientInvoker).disconnect() line: 287
InvokerRegistry.destroyClientInvoker(InvokerLocator, Map) line: 225
Client.disconnect() line: 530
JBossRemotingRemoteCommunicator.disconnect() line: 406
ClientCommandSender.stopSending(boolean) line: 725
AgentMain.shutdown() line: 452
AgentCommTest.tearDown() line: 148
GeneratedMethodAccessor26.invoke(Object, Object[]) line: not available
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 585
MethodHelper.invokeMethod(Method, Object, Object[]) line: 552
Invoker.invokeConfigurationMethod(Object[], ITestNGMethod, Object[], boolean, ITestResult) line: 318
Invoker.invokeConfigurations(IClass, ITestNGMethod[], XmlSuite, Map<String,String>, Object) line: 152
Invoker.invokeMethod(Object[], ITestNGMethod, Object[], XmlSuite, Map<String,String>, ITestClass, ITestNGMethod[], ITestNGMethod[], ConfigurationGroupMethods) line: 483
Invoker.invokeTestMethods(ITestNGMethod, XmlSuite, Map<String,String>, ITestNGMethod[], int, ConfigurationGroupMethods) line: 778
TestMethodWorker.run() line: 105
TestRunner.privateRun(XmlTest) line: 682
TestRunner.run() line: 566
SuiteRunner.privateRun() line: 220
SuiteRunner.run() line: 146
TestNG.createAndRunSuiteRunners(XmlSuite) line: 713
TestNG.runSuitesLocally() line: 676
TestNGExecutor.executeTestNG(SurefireTestSuite, String, XmlSuite, ReporterManager) line: 64
TestNGXmlTestSuite.execute(ReporterManager, ClassLoader) line: 75
Surefire.run(List, List, ClassLoader, ClassLoader) line: 129
NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not available [native method]
NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39
DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25
Method.invoke(Object, Object...) line: 585
SurefireBooter.runSuitesInProcess() line: 225
SurefireBooter.main(String[]) line: 747
Thread [Thread-3680] (Suspended)
waiting for: LinkedList<E> (id=38)
owned by: Thread [Thread-3666] (Suspended)
SSLSocketClientInvoker(MicroSocketClientInvoker).getConnection() line: 652
SSLSocketClientInvoker(MicroSocketClientInvoker).transport(String, Object, Map, Marshaller, UnMarshaller) line: 314
SSLSocketClientInvoker(MicroRemoteClientInvoker).invoke(InvocationRequest) line: 116
Client.invoke(Object, Map, InvokerLocator) line: 612
Client.invoke(Object, Map) line: 604
JBossRemotingRemoteCommunicator.send(Command) line: 430
GenericCommandClient(AbstractCommandClient).invoke(Command) line: 167
ClientCommandSender.send(Command) line: 820
ClientCommandSenderTask.send(ClientCommandSender, CommandAndCallback) line: 203
ClientCommandSenderTask.call() line: 103
FutureResult$1.run() line: not available
Thread.run() line: 595
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 4 months
[JBoss JIRA] Created: (JBREM-579) transporter does not handle reflection conversion for primitive types
by Tom Elrod (JIRA)
transporter does not handle reflection conversion for primitive types
---------------------------------------------------------------------
Key: JBREM-579
URL: http://jira.jboss.com/jira/browse/JBREM-579
Project: JBoss Remoting
Issue Type: Bug
Security Level: Public (Everyone can see)
Components: transporter
Affects Versions: 2.0.0.CR1 (Boon)
Reporter: Tom Elrod
Assigned To: Tom Elrod
Fix For: 2.0.0.GA (Boon)
When the TransporterHandler receives an invocation request and uses reflection to make the call on the target object, it does not take into account primitive types for the signature type. So need to explicitly check for primitive types in method signature and do manual conversion of type provided by reflection to the real primitive class type. For example, reflection will say that int type argument is 'int' and needs to be converted to Integer.TYPE.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.jboss.com/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira
17 years, 4 months