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/

2009-03-09 Thread Julien Vermillard
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

2009-03-09 Thread Julien Vermillard (JIRA)

 [ 
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

2009-03-09 Thread Julien Vermillard (JIRA)

 [ 
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]

2009-03-09 Thread Julien Vermillard
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

2009-03-09 Thread Julien Vermillard (JIRA)

 [ 
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

2009-03-09 Thread Julien Vermillard (JIRA)

 [ 
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

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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

2009-03-09 Thread Julien Vermillard (JIRA)

[ 
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

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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

2009-03-09 Thread Julien Vermillard (JIRA)

 [ 
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

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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.

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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

2009-03-09 Thread Emmanuel Lecharny (JIRA)

 [ 
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

2009-03-09 Thread Emmanuel Lecharny

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

2009-03-09 Thread Emmanuel Lecharny

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

2009-03-09 Thread Edouard De Oliveira

+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

2009-03-09 Thread Squee
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

2009-03-09 Thread Mark Webb
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