Re: svn commit: r751504 - in /mina/trunk/core/src/main/java/org/apache/mina: core/polling/ core/service/ core/session/ core/write/ transport/socket/nio/ transport/vmpipe/
This commit broke Serial transport compilation. Please don't forget SerialTransport when you are recompiling MINA (-Dwith-LGPL-dependencies). Julien On Sun, Mar 8, 2009 at 8:24 PM, elecha...@apache.org wrote: Author: elecharny Date: Sun Mar 8 19:24:58 2009 New Revision: 751504 URL: http://svn.apache.org/viewvc?rev=751504view=rev Log: o Added Javadoc to the WriteRequestQueue interface o Rename CloseRequestAwareWriteRequestQueue to CloseAwareWriteQueue o Added some comments in code o Renamed finishSessionInitialization to initSession o Minor refactoring Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java mina/trunk/core/src/main/java/org/apache/mina/core/service/AbstractIoService.java mina/trunk/core/src/main/java/org/apache/mina/core/session/AbstractIoSession.java mina/trunk/core/src/main/java/org/apache/mina/core/session/DefaultIoSessionDataStructureFactory.java mina/trunk/core/src/main/java/org/apache/mina/core/write/WriteRequestQueue.java mina/trunk/core/src/main/java/org/apache/mina/transport/socket/nio/NioSocketAcceptor.java mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeAcceptor.java mina/trunk/core/src/main/java/org/apache/mina/transport/vmpipe/VmPipeConnector.java Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java?rev=751504r1=751503r2=751504view=diff == --- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java (original) +++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingConnectionlessIoAcceptor.java Sun Mar 8 19:24:58 2009 @@ -252,7 +252,7 @@ session = newSession; } - finishSessionInitialization(session, null, null); + initSession(session, null, null); try { this.getFilterChainBuilder().buildFilterChain(session.getFilterChain()); Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java?rev=751504r1=751503r2=751504view=diff == --- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java (original) +++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoAcceptor.java Sun Mar 8 19:24:58 2009 @@ -478,12 +478,15 @@ H handle = handles.next(); handles.remove(); + // Associates a new created connection to a processor, + // and get back a session T session = accept(processor, handle); + if (session == null) { break; } - finishSessionInitialization(session, null, null); + initSession(session, null, null); // add the session to the SocketIoProcessor session.getProcessor().add(session); Modified: mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java URL: http://svn.apache.org/viewvc/mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java?rev=751504r1=751503r2=751504view=diff == --- mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java (original) +++ mina/trunk/core/src/main/java/org/apache/mina/core/polling/AbstractPollingIoConnector.java Sun Mar 8 19:24:58 2009 @@ -324,7 +324,7 @@ if (connect(handle, remoteAddress)) { ConnectFuture future = new DefaultConnectFuture(); T session = newSession(processor, handle); - finishSessionInitialization(session, future, sessionInitializer); + initSession(session, future, sessionInitializer); // Forward the remaining process to the IoProcessor. session.getProcessor().add(session); success = true; @@ -432,7 +432,7 @@ try { if (finishConnect(handle)) { T session = newSession(processor, handle); - finishSessionInitialization(session, connectionRequest,
[jira] Resolved: (DIRMINA-647) WriteFuture.isWritten() never returns true even when data is actually sent on the serial port using serial transport
[ https://issues.apache.org/jira/browse/DIRMINA-647?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julien Vermillard resolved DIRMINA-647. --- Resolution: Fixed Fixed, thanks ! WriteFuture.isWritten() never returns true even when data is actually sent on the serial port using serial transport Key: DIRMINA-647 URL: https://issues.apache.org/jira/browse/DIRMINA-647 Project: MINA Issue Type: Bug Components: Transport Affects Versions: 2.0.0-M3 Environment: MINA : 2.0.0-M3 Netbeans 6.5 Serial port (both hardware COM1 and using com0com's virtual serial ports) JDK 1.6.10 Windows XP (Service Pack 3) Reporter: Akbar Munir Chaudhary Assignee: Julien Vermillard The serial transport never sets the WriteFuture.isWritten() to true, even when the data has been written on the serial port. The WriteFuture.awaitUninterruptibly() without any timeout never returns and if WriteFuture.awaitUninterruptibly() is used with a timeout, then it returns but specifies the WriteFuture.isWritten() as false. The following code is the basic usage of serial transport: --- SerialAddress a = new SerialAddress(COM1, 115200, SerialAddress.DataBits.DATABITS_8, SerialAddress.StopBits.BITS_1, SerialAddress.Parity.NONE, SerialAddress.FlowControl.NONE); IoConnector c = new SerialConnector(); c.setHandler(this); ConnectFuture cf = c.connect(a); cf.awaitUninterruptibly(); System.out.println(Connection = + cf.isConnected()); if (cf.isConnected()) { IoSession s = cf.getSession(); IoBuffer b = IoBuffer.allocate(32); b.put(new String(this is a test message).getBytes()); b.flip(); WriteFuture wf = s.write(b); wf.awaitUninterruptibly(5, TimeUnit.SECONDS); System.out.println(Message Written = + wf.isWritten()); } --- Using a cross serial cable, the serial data does reach the other end, but the WriteFuture does not say so. I think the problem may be with the file SerialSessionImpl.java after the line 185. After the buffer data has been written to the serial port's output stream and the buffer position has been adjusted, the WriteFuture in the write request is not notified. If I add the line: --- req.getFuture().setWritten(); --- right after the line # 185, it starts to work for all my examples. Thanks, Akbar. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (DIRMINA-646) More than required data sent on serial port through serial transport
[ https://issues.apache.org/jira/browse/DIRMINA-646?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julien Vermillard resolved DIRMINA-646. --- Resolution: Fixed Fix Version/s: 2.0.0-RC1 Fixed, thanks ! More than required data sent on serial port through serial transport Key: DIRMINA-646 URL: https://issues.apache.org/jira/browse/DIRMINA-646 Project: MINA Issue Type: Bug Components: Transport Affects Versions: 2.0.0-M3 Environment: MINA : 2.0.0-M3 Netbeans 6.5 Serial port (both hardware COM1 and using com0com's virtual serial ports) JDK 1.6.10 Windows XP (Service Pack 3) Reporter: Akbar Munir Chaudhary Assignee: Julien Vermillard Fix For: 2.0.0-RC1 The serial transport sends more then required data when IoSession.write() is called with the IoBuffer. The following code is the basic usage of serial transport: --- SerialAddress a = new SerialAddress(COM1, 115200, SerialAddress.DataBits.DATABITS_8, SerialAddress.StopBits.BITS_1, SerialAddress.Parity.NONE, SerialAddress.FlowControl.NONE); IoConnector c = new SerialConnector(); c.setHandler(this); ConnectFuture cf = c.connect(a); cf.awaitUninterruptibly(); System.out.println(Connection = + cf.isConnected()); if (cf.isConnected()) { IoSession s = cf.getSession(); IoBuffer b = IoBuffer.allocate(32); b.put(new String(this is a test message).getBytes()); b.flip(); WriteFuture wf = s.write(b); wf.awaitUninterruptibly(5, TimeUnit.SECONDS); System.out.println(Message Written = + wf.isWritten()); } --- The message codethis is a test message/code should have been sent on the serial port COM1. But the actual output received is (output captured through HDD Free Serial Port Monitor) : --- 74 68 69 73 20 69 73 20 61 20 74 65 73 74 20 6D this is a test m 65 73 73 61 67 65 00 00 00 00 00 00 00 00 00 00 essage.. --- I have looked into the code, and the reason appears to be the following statement on line # 184 in the file SerialSessionImpl.java. --- outputStream.write(buf.array()); --- Since buf.array() returns the complete array in the IoBuffer, regardless of the actual count of valid data, so all bytes are sent. I changed this statement to: --- outputStream.write(buf.array(), buf.position(), writtenBytes); --- to ensure that only the required bytes starting from the first unread position is sent on the serial port. This works so far for all my cases. Thanks, Akbar. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
Re: [Fwd: MINA bug lists]
Le Wed, 04 Mar 2009 20:10:06 +0100, Emmanuel Lecharny elecha...@apache.org a écrit : Soory, this was sent to the directory ML by mistake ... I think we don't mind if they fix some ;) Here my POV : 2.0.0-RC1 issues : Bug DIRMINA-604 Deadlock occurs when implementing two mina StateMachine Bug DIRMINA-632 WriteFuture.awaitUninterruptibly() or .join() hangs if write() throws Exceptions since stateMachine is not tied to MINA, I go for no-no and think we need to remove this module for 3.0, except we use it for some codec framework. Bug DIRMINA-539 NioDatagramConnector doesn't takes the TrafficClass value set to his DatagramSessionConfig need to take a look, so fix it Task DIRMINA-575 Add the missing Javadoc, add some comments Blocker not precise enough let's delete it Task DIRMINA-477 Update page about differences between 1.x and 2.x definitively todo, we need to check this page for mistake, but documenting every API change is a bit hopeless due to the massive changes Task DIRMINA-32 Revise JavaDoc, PPT, and Tutorial Tutorials are fine now, I hope we will have a new preso for ApacheconEU soon ? So we can kick the old ppt. Task DIRMINA-612 Add documentation on SingleSessionIohandler If someone know what is that thingy ok, else delete the class and the issue. Impr DIRMINA-594 Javadoc documentation for APR transport Yes definitively todo Impr DIRMINA-593 Javadoc documentation for org/apache/mina/filter/reqres Boring but todo.. Unscheduled issues : Bug DIRMINA-650 Mina server does not recieve all data sent by client using SSLSocketFactory Never used SSL, but looks serious. Bug DIRMINA-666 HTTP header parsing example incompatible with rfc2616 / content-length field name should be interrepted as case-insensitive Asyncweb issue, done no ? Bug DIRMINA-588 High CPU Usage in AprIoProcessor APR isn't much usable in prod actualy, todo, but no blocker for 2.0 Bug DIRMINA-634 IllegalStateException: Already released Buffer in SSLFilter messageSent() No much opinion about SSL, but looks serious Bug DIRMINA-419 about the Proxy example Old, very old non 2.0 bug Bug DIRMINA-379 setKeepAlive/setTcpNoDelay and exceptions in Windows Vista Can we really do something here ? Bug DIRMINA-596 Sessions generated by NioSocketConnector cannot be closed in time (within MINA2.0 M1,M2) looks fixed no ? Bug DIRMINA-642 Disposing an IoConnector blocks forever To fix, serious Bug DIRMINA-647 WriteFuture.isWritten() never returns true even when data is actually sent on the serial port using serial transport Fixed Bug DIRMINA-646 More than required data sent on serial port through serial transport Fixed Bug DIRMINA-651 Data Race in org.apache.mina.core.session.AbstractIoSession Bug DIRMINA-653 IoSession.write not thread-safe? Loosing messages under heavy multi-threaded write on same session. Bug DIRMINA-659AccessControlException when running MINA in a Applet: RuntimePermission modifyThread Impr DIRMINA-509 DatagramConnector.connect() is slow compared to connect() with java.net.DatagramSocket Impr DIRMINA-572 Add Spring support for Mina statemachine no-no Impr DIRMINA-601 Add sendfile support to transport-apr no-no for 2.0 Impr DIRMINA-301 New Multi threaded SocketIOProcessor to improve fairness of socket reads/writes no-no Impr DIRMINA-616 New release.xml file just need to fix those double files in tarball issues Impr DIRMINA-237 Improve Spring integration no-no Impr DIRMINA-166 Common internal messages that can be shared by filters and transport implementations no-no Impr DIRMINA-657 SSL Filter and IoHandler. Impr DIRMINA-371 Annotations to document concurrency no-no Feat DIRMINA-453 Multiple IoServices for one java.nio.Selector no-no just use the same IoService.. Feat DIRMINA-68 Automatic reconnect configuration for client channels. no-no, very difficult to add in MINA logic without impacting API core deeply Feat DIRMINA-485 SCTP Transport based on APR (Apache Portable Runtime) no-no Feat DIRMINA-23 New transport type: non-NIO sockets no-no Feat DIRMINA-484 Datagram transport based on APR (Apache Portable Runtime) there is something already.. need to clear this issue Feat DIRMINA-423 Read-write ratio configuration for SocketIoProcessor no-no and pure bullshit.. Feat DIRMINA-424 Automatic read-write ratio configuration no-no extra-pure-bullshit.. Feat DIRMINA-128 IoSession.shutdown(TrafficMask) no-no Feat DIRMINA-499 Bindings for Scala no-no Feat DIRMINA-258 Example of an XML server and Client. no-no Feat DIRMINA-389 Create a Connection Throttle Filter no-no Feat DIRMINA-500 Cache for encoded messages. no-no-no-no Feat DIRMINA-655 Add a more general purpose text based decoder no-no Feat DIRMINA-196 Connection shaper no-no Task DIRMINA-643 Remove Xbeans from MINA YES! YES! we need to kill that module Task DIRMINA-250 Provide a test suite for a transport implementor. no-no Task DIRMINA-188 All-in-one JAR no-no Test DIRMINA-355 Modified sumup client to act
[jira] Closed: (DIRMINA-423) Read-write ratio configuration for SocketIoProcessor
[ https://issues.apache.org/jira/browse/DIRMINA-423?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julien Vermillard closed DIRMINA-423. - Resolution: Won't Fix Read-write ratio configuration for SocketIoProcessor Key: DIRMINA-423 URL: https://issues.apache.org/jira/browse/DIRMINA-423 Project: MINA Issue Type: New Feature Components: Transport Reporter: Trustin Lee Priority: Minor Currently, the amount of maximum bytes per a read (or write) loop is limited to not exceed the twice of the socket buffer size. This factory setting will satisfy most people, but a certain protocol might want to adjust read-write ratio to squeeze out more throughput. SocketAcceptor and SocketConnector could have a float property called 'readWriteRatio' whose default value is 1.0. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Closed: (DIRMINA-424) Automatic read-write ratio configuration
[ https://issues.apache.org/jira/browse/DIRMINA-424?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julien Vermillard closed DIRMINA-424. - Resolution: Won't Fix Automatic read-write ratio configuration Key: DIRMINA-424 URL: https://issues.apache.org/jira/browse/DIRMINA-424 Project: MINA Issue Type: New Feature Components: Transport Reporter: Trustin Lee Priority: Minor Once DIRMINA-423 is resolved, we might be able to write a special filter (or something else) that monitors throughput and adjusts the read-write ratio property dynamically. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-604) Deadlock occurs when implementing two mina StateMachine
[ https://issues.apache.org/jira/browse/DIRMINA-604?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-604: -- Fix Version/s: (was: 2.0.0-RC1) 3.0.0-M1 Postoned to the next version. Having those StateMachine mechanism available is cool, but if nobody can maintain it, at some point, we will have to move it to the sandbox. Deadlock occurs when implementing two mina StateMachine Key: DIRMINA-604 URL: https://issues.apache.org/jira/browse/DIRMINA-604 Project: MINA Issue Type: Bug Components: Statemachine Affects Versions: 2.0.0-M2 Environment: Bug found under: - windows vista business edition - dual core intel machine - jdk6_update6 Reporter: simon trudeau Priority: Critical Fix For: 3.0.0-M1 For mailing list discussion on the issue, see: http://mina.markmail.org/message/hp2bkg56sf5f6l56?q=list:org.apache.mina.userspage=1#query:list%3Aorg.apache.mina.users+page:1+mid:l6up4s36uag6yvll+state:results With the mailing list thread is included a jstack stack trace to illustrate the deadlock. A deadlock occurs when a Mina StateMachine's Filter (A) reads data using messageReceived() while another mina StateMachine's Filter (B) write data at the same time using filterWrite(). My current oberservation show that what witch I thought only occured rarely happens in fact very frequently when there are few concurrent connections! (Basically the faster we can get a response to a request, the more likely the chance of this situation happening!) The effect of such a deadlock is that it freezes the whole application without possibility of recovering. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Commented: (DIRMINA-192) Clustering for transparent load balancing
[ https://issues.apache.org/jira/browse/DIRMINA-192?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=12680114#action_12680114 ] Julien Vermillard commented on DIRMINA-192: --- only me thinks it's not a network framework role to do that? only something more high level can manage that the right way. Clustering for transparent load balancing - Key: DIRMINA-192 URL: https://issues.apache.org/jira/browse/DIRMINA-192 Project: MINA Issue Type: Wish Reporter: Federico Bonelli I wish I can manage more MINA cores running on different computers, binding and unbinding addresses as if they were on my own JVM. This way could help fixing problems related to low bandwidth. This is the issue we discussed about on mail list, with the thread title of [MINA] What about a cluster for network load balancing? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-588) High CPU Usage in AprIoProcessor
[ https://issues.apache.org/jira/browse/DIRMINA-588?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-588: -- Fix Version/s: 3.0.0-M1 Not production ready anyway. Unless someone provide a patch for this bug, it's not urgent for 2.0. Maybe for a 2.1 ? High CPU Usage in AprIoProcessor Key: DIRMINA-588 URL: https://issues.apache.org/jira/browse/DIRMINA-588 Project: MINA Issue Type: Bug Components: Transport Affects Versions: 2.0.0-M2 Environment: Linux jellikit 2.6.24-16-generic #1 SMP Thu Apr 10 13:23:42 UTC 2008 i686 GNU/Linux java version 1.6.0_06 Java(TM) SE Runtime Environment (build 1.6.0_06-b02) Java HotSpot(TM) Server VM (build 10.0-b22, mixed mode) tomcat-native-1.1.13 apr-1.2.11 Reporter: Geoff Cadien Fix For: 3.0.0-M1 Attachments: AprTest.java When running a simple test using the APR transport I see high cpu utilization that will continue which not active connections until the application is terminated. Here is a thread dump: 2008-05-19 17:41:46 Full thread dump Java HotSpot(TM) Server VM (10.0-b22 mixed mode): AprIoProcessor-2 prio=10 tid=0x08399400 nid=0x5faa runnable [0xa0169000..0xa016a0c0] java.lang.Thread.State: RUNNABLE at java.util.concurrent.ConcurrentLinkedQueue.casHead(ConcurrentLinkedQueue.java:139) at java.util.concurrent.ConcurrentLinkedQueue.poll(ConcurrentLinkedQueue.java:219) at org.apache.mina.common.AbstractPollingIoProcessor.flush(AbstractPollingIoProcessor.java:471) at org.apache.mina.common.AbstractPollingIoProcessor.access$9(AbstractPollingIoProcessor.java:465) at org.apache.mina.common.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:707) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) AprIoProcessor-3 prio=10 tid=0x083c4000 nid=0x5fa9 runnable [0xa01ba000..0xa01bb040] java.lang.Thread.State: RUNNABLE at org.apache.tomcat.jni.Socket.recvb(Native Method) at org.apache.mina.transport.socket.apr.AprIoProcessor.read(AprIoProcessor.java:332) at org.apache.mina.transport.socket.apr.AprIoProcessor.read(AprIoProcessor.java:1) at org.apache.mina.common.AbstractPollingIoProcessor.read(AbstractPollingIoProcessor.java:418) at org.apache.mina.common.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:397) at org.apache.mina.common.AbstractPollingIoProcessor.process(AbstractPollingIoProcessor.java:389) at org.apache.mina.common.AbstractPollingIoProcessor.access$8(AbstractPollingIoProcessor.java:387) at org.apache.mina.common.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:703) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) AprIoProcessor-1 prio=10 tid=0x083c3800 nid=0x5fa8 runnable [0xa020b000..0xa020bfc0] java.lang.Thread.State: RUNNABLE at org.apache.tomcat.jni.Poll.poll(Native Method) at org.apache.mina.transport.socket.apr.AprIoProcessor.select(AprIoProcessor.java:130) at org.apache.mina.common.AbstractPollingIoProcessor$Worker.run(AbstractPollingIoProcessor.java:697) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:907) at java.lang.Thread.run(Thread.java:619) DestroyJavaVM prio=10 tid=0x0805a400 nid=0x5f88 waiting on condition [0x..0xb7db1090] java.lang.Thread.State: RUNNABLE AprSocketAcceptor-1 prio=10 tid=0x08318000 nid=0x5f9a runnable [0xa025c000..0xa025cf40] java.lang.Thread.State: RUNNABLE at org.apache.tomcat.jni.Poll.poll(Native Method) at org.apache.mina.transport.socket.apr.AprSocketAcceptor.select(AprSocketAcceptor.java:189) at org.apache.mina.common.AbstractPollingIoAcceptor$Worker.run(AbstractPollingIoAcceptor.java:203) at org.apache.mina.util.NamePreservingRunnable.run(NamePreservingRunnable.java:51) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:885) at
[jira] Updated: (DIRMINA-643) Remove Xbeans from MINA
[ https://issues.apache.org/jira/browse/DIRMINA-643?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-643: -- Fix Version/s: 3.0.0-M1 No time for that right now. Let's reevaluate xbeans for 3.0 Remove Xbeans from MINA --- Key: DIRMINA-643 URL: https://issues.apache.org/jira/browse/DIRMINA-643 Project: MINA Issue Type: Task Affects Versions: 2.0.0-RC1 Reporter: Emmanuel Lecharny Priority: Critical Fix For: 3.0.0-M1 We are not using xbeans, and it's really a problem when we cut the release. I suggest we decommission this module. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Resolved: (DIRMINA-192) Clustering for transparent load balancing
[ https://issues.apache.org/jira/browse/DIRMINA-192?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Julien Vermillard resolved DIRMINA-192. --- Resolution: Won't Fix out of scope for MINA Clustering for transparent load balancing - Key: DIRMINA-192 URL: https://issues.apache.org/jira/browse/DIRMINA-192 Project: MINA Issue Type: Wish Reporter: Federico Bonelli I wish I can manage more MINA cores running on different computers, binding and unbinding addresses as if they were on my own JVM. This way could help fixing problems related to low bandwidth. This is the issue we discussed about on mail list, with the thread title of [MINA] What about a cluster for network load balancing? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-572) Add Spring support for Mina statemachine
[ https://issues.apache.org/jira/browse/DIRMINA-572?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-572: -- Fix Version/s: 3.0.0-M1 Postponed Add Spring support for Mina statemachine Key: DIRMINA-572 URL: https://issues.apache.org/jira/browse/DIRMINA-572 Project: MINA Issue Type: Improvement Components: Statemachine Environment: All environment Reporter: simon trudeau Fix For: 3.0.0-M1 Attachments: IoFilterStateMachineProxyFactoryBean.java, PasswordProtectionStateContextFactory.java, StateMachineFactoryBean.java Currently, the configuring the Mina statemachine using Spring is not a trivial process. The API should be improved to provide convience classes and methods to allow for easier Spring 2.x configuration. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-601) Add sendfile support to transport-apr
[ https://issues.apache.org/jira/browse/DIRMINA-601?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-601: -- Fix Version/s: 3.0.0-M1 Postponed Add sendfile support to transport-apr - Key: DIRMINA-601 URL: https://issues.apache.org/jira/browse/DIRMINA-601 Project: MINA Issue Type: Improvement Components: Core, Transport Affects Versions: 2.0.0-M2 Reporter: Geoff Cadien Fix For: 3.0.0-M1 Attachments: sendfile-patches.zip I've take a shot at adding support for sendfile to transport-apr. I've had to make several changes because in the current code FileRegion is NIO specific because of it's reliance on FileChannel. I've made the following changes: I've created an interface called SendableFile to take the place of using FileChannel in FileRegion. I've also created two implementations of this interface, AprSendableFile and NioSendableFile. The method of interest is send(long position, long length) which is used to send the file. Notice it doesn't take an IoSession or a Channel as a parameter. I tried using generics to include the proper subclass of IoSession but that didn't work out very well. :-) There are still a couple of problems that need to be dealt with. First and foremost is that AbstractIoSession will create instances of DefaultFileRegion in the write method when passed either a File or a FileChannel. This causes a problem because FileRegion is no longer NIO specific. I don't have a solution right now other than removing the code. The other problem is with FileRegionWriteFilter (and unit test), again because FileRegion is NIO specific and exposes a FileChannel. I'm hoping somebody can take a look at the code and provide some feedback if they believe this is headed in the right direction or have a better idea. I'll attach the patches shortly. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-653) IoSession.write not thread-safe? Loosing messages under heavy multi-threaded write on same session.
[ https://issues.apache.org/jira/browse/DIRMINA-653?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-653: -- Fix Version/s: 2.0.0-RC1 Definitively has to be fixed or dismissed for 2.0-RC1 IoSession.write not thread-safe? Loosing messages under heavy multi-threaded write on same session. --- Key: DIRMINA-653 URL: https://issues.apache.org/jira/browse/DIRMINA-653 Project: MINA Issue Type: Bug Components: Core, Filter Affects Versions: 2.0.0-M4 Environment: Windows Vista 64-bit Reporter: Mauritz Lovgren Fix For: 2.0.0-RC1 I am writing a stress-test that tests multi-thread safetyness of our stateless encoder / decoder under heavy load and I am observing that messages are silently lost during session.write(Object), (the lost messages do not seem to reach the underlying socket buffer at all). I am using one encoder / decoder that is stateless. No executor filter, only the filter codec and a basic io handler. Synchronizing on the session.write makes the problem go away; synchronized (session) { future = session.write(message); } Do I really have to synchronize on the session to solve this issue? -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
[jira] Updated: (DIRMINA-237) Improve Spring integration
[ https://issues.apache.org/jira/browse/DIRMINA-237?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ] Emmanuel Lecharny updated DIRMINA-237: -- Fix Version/s: 3.0.0-M1 Postponed to 3.0.0 Improve Spring integration -- Key: DIRMINA-237 URL: https://issues.apache.org/jira/browse/DIRMINA-237 Project: MINA Issue Type: Improvement Affects Versions: 0.9.4 Reporter: Niklas Therning Priority: Minor Fix For: 3.0.0-M1 The Spring integration module is in need of an overhaul. There are some things that aren't that simple to configure like the default IoService config. Also, Spring 2.0 is due to be released very soon. We should add support for the custom XML configuration feature introduced with Spring 2.0. That would let users write things like (just brainstorming here): mina:acceptor type=socket tcpNoDelay=true reuseAddress=true threadPoolMaxSize=20 threadPoolKeepAlive=3 mina:bind address=:23 handler=telnetHandler/ mina:bind address=:80 handler=httpHandler/ mina:bind address=:443 handler=httpHandler mina:filter ref=sslFilter/ /mina:binding /mina:acceptor Of course, we should still support and make life easier for people who don't use Spring 2.0. I'd like to know what people using the Spring integration think should be made to make it easier to use. Please add your comments to this issue. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.
MINA issues report #2
Hi guys, after a quick review, and some fixes done last week, here is the current status : Fixed issues : Feat DIRMINA-423 Read-write ratio configuration for SocketIoProcessor Feat DIRMINA-424 Automatic read-write ratio configuration Bug DIRMINA-646 More than required data sent on serial port through serial transport Bug DIRMINA-647 WriteFuture.isWritten() never returns true even when data is actually sent on the serial port using serial transport Bug DIRMINA-666 HTTP header parsing example incompatible with rfc2616 / content-length field name should be interrepted as case-insensitive Postponed issues : Bug DIRMINA-604 Deadlock occurs when implementing two mina StateMachine Bug DIRMINA-588 High CPU Usage in AprIoProcessor Impr DIRMINA-572 Add Spring support for Mina statemachine Impr DIRMINA-601 Add sendfile support to transport-apr Impr DIRMINA-237 Improve Spring integration Commented issues : Task DIRMINA-575 Add the missing Javadoc, add some comments Blocker Note : we have to be more precise, and give a list of missing Javadoc. 2.0.0-RC1 issues : Bug DIRMINA-653 IoSession.write not thread-safe? Loosing messages under heavy multi-threaded write on same session. Bug DIRMINA-632 WriteFuture.awaitUninterruptibly() or .join() hangs if write() throws Exceptions Bug DIRMINA-539 NioDatagramConnector doesn't takes the TrafficClass value set to his DatagramSessionConfig Task DIRMINA-612 Add documentation on SingleSessionIohandler Task DIRMINA-575 Add the missing Javadoc, add some comments Blocker Note : we have to be more precise, and give a list of Task DIRMINA-477 Update page about differences between 1.x and 2.x Task DIRMINA-32 Revise JavaDoc, PPT, and Tutorial Impr DIRMINA-594 Javadoc documentation for APR transport Impr DIRMINA-593 Javadoc documentation for org/apache/mina/filter/reqres Unscheduled issues : Bug DIRMINA-659 AccessControlException when running MINA in a Applet: RuntimePermission modifyThread Bug DIRMINA-651 Data Race in org.apache.mina.core.session.AbstractIoSession Bug DIRMINA-650 Mina server does not recieve all data sent by client using SSLSocketFactory Bug DIRMINA-642 Disposing an IoConnector blocks forever Bug DIRMINA-634 IllegalStateException: Already released Buffer in SSLFilter messageSent() Bug DIRMINA-596 Sessions generated by NioSocketConnector cannot be closed in time (within MINA2.0 M1,M2) Bug DIRMINA-419 about the Proxy example Bug DIRMINA-379 setKeepAlive/setTcpNoDelay and exceptions in Windows Vista Impr DIRMINA-657 SSL Filter and IoHandler. Impr DIRMINA-616 New release.xml file Impr DIRMINA-509 DatagramConnector.connect() is slow compared to connect() with java.net.DatagramSocket Impr DIRMINA-371 Annotations to document concurrency Impr DIRMINA-301 New Multi threaded SocketIOProcessor to improve fairness of socket reads/writes Impr DIRMINA-166 Common internal messages that can be shared by filters and transport implementations Feat DIRMINA-655 Add a more general purpose text based decoder Feat DIRMINA-500 Cache for encoded messages. Feat DIRMINA-499 Bindings for Scala Feat DIRMINA-485 SCTP Transport based on APR (Apache Portable Runtime) Feat DIRMINA-484 Datagram transport based on APR (Apache Portable Runtime) Feat DIRMINA-453 Multiple IoServices for one java.nio.Selector Feat DIRMINA-389 Create a Connection Throttle Filter Feat DIRMINA-258 Example of an XML server and Client. Feat DIRMINA-196 Connection shaper Feat DIRMINA-128 IoSession.shutdown(TrafficMask) Feat DIRMINA-68 Automatic reconnect configuration for client channels. Feat DIRMINA-23 New transport type: non-NIO sockets Task DIRMINA-643 Remove Xbeans from MINA Task DIRMINA-250 Provide a test suite for a transport implementor. Task DIRMINA-188 All-in-one JAR Test DIRMINA-355 Modified sumup client to act as a jmeter javarequest sampler Wish DIRMINA-192 Clustering for transparent load balancing Wish DIRMINA-641 Configurable memory limit for CompressionFilter -- -- cordialement, regards, Emmanuel Lécharny www.iktek.com directory.apache.org
Re: SingleSessionIoHandlerDelegate
Julien Vermillard wrote: Hi, someone use the SingleSessionIoHandlerDelegate and the org.apache.mina.handler.multiton package ? I feel like CTRL+A DELeting it, except someone use it. Julien I don't even know what is this good for ... -- -- cordialement, regards, Emmanuel Lécharny www.iktek.com directory.apache.org
Re : SingleSessionIoHandlerDelegate
+1 ... Cordialement, Regards, -Edouard De Oliveira- http://tedorg.free.fr/en/main.php - Message d'origine De : Emmanuel Lecharny elecha...@apache.org À : dev@mina.apache.org Envoyé le : Lundi, 9 Mars 2009, 11h57mn 27s Objet : Re: SingleSessionIoHandlerDelegate Julien Vermillard wrote: Hi, someone use the SingleSessionIoHandlerDelegate and the org.apache.mina.handler.multiton package ? I feel like CTRL+A DELeting it, except someone use it. Julien I don't even know what is this good for ... -- -- cordialement, regards, Emmanuel Lécharny www.iktek.com directory.apache.org
Re: Re : SingleSessionIoHandlerDelegate
I actually use it in our product, though I believe I subclass the handler rather than using it directly. If the functionality is removed, it's not HUGE loss and I can just do it myself, but it is useful for certain applications. 2009/3/9 Maarten Bosteels mbosteels@gmail.com: Never used it. Maarten On Mon, Mar 9, 2009 at 12:04 PM, Edouard De Oliveira doe_wan...@yahoo.frwrote: +1 ... Cordialement, Regards, -Edouard De Oliveira- http://tedorg.free.fr/en/main.php - Message d'origine De : Emmanuel Lecharny elecha...@apache.org À : dev@mina.apache.org Envoyé le : Lundi, 9 Mars 2009, 11h57mn 27s Objet : Re: SingleSessionIoHandlerDelegate Julien Vermillard wrote: Hi, someone use the SingleSessionIoHandlerDelegate and the org.apache.mina.handler.multiton package ? I feel like CTRL+A DELeting it, except someone use it. Julien I don't even know what is this good for ... -- -- cordialement, regards, Emmanuel Lécharny www.iktek.com directory.apache.org
MINA 3.0
I see that there are JIRA entries for MINA 3.0. Is there a branch for this yet, or are we still using the trunk for that? Sorry, I've been away for a while. New job and grad school are taking up alot of time. --Mark