[infinispan-dev] Query integration tests performance and JGroups

Bela Ban bban at redhat.com
Wed Jun 11 05:13:54 EDT 2014


What's that test doing ? Can this be reproduced in JGroups ?

Can you perhaps instrument the JGroups src code in Receiver.run() to 
print out the number of bytes read and print the Throwable to stderr ?

Somehow this smells like a tight loop, but I wonder what would cause 
this... A closed socket would terminate the loop and reading an EOF 
would also terminate it...

On 11/06/14 10:52, Gustavo Fernandes wrote:
> Hi,
>
> While investigating some CI failures in query (timeouts), I've narrowed
> down the issue to the Jgroups protocol stack being used.
> Running a 'mvn clean install' in the query/ module takes about 6min
> (when timeout does not happen). If I run instead:
>
> mvn -Dtest.protocol.jgroups=udp clean install
>
> Time goes down to around 50s. Recent changes in core's jgoups-tcp.xml
> for the tests were the removal of the loopback=true and the modification
> of the bundler_type, but they don't seem to affect the outcome.
>
> FYI, taking a single test and stripping down from it everything but the
> cluster formation and data population (5 objects) leads to the cpu
> hotspot below, and it takes almost 1 minute
>
> I'd be happy to change the query tests to udp, but first would like to
> hear your thoughts about this issue
>
> Gustavo
>
> +----------------------------------------------------------------------------------+------------------+--------------------+
> |                                       Name                                       |    Time (ms)     |  Invocation Count  |
> +----------------------------------------------------------------------------------+------------------+--------------------+
> |  +---java.net.SocketInputStream.read(byte[], int, int, int)                      |  101,742  100 %  |             4,564  |
> |    |                                                                             |                  |                    |
> |    +---java.net.SocketInputStream.read(byte[], int, int)                         |                  |                    |
> |      |                                                                           |                  |                    |
> |      +---java.io.BufferedInputStream.fill()                                      |                  |                    |
> |        |                                                                         |                  |                    |
> |        +---java.io.BufferedInputStream.read()                                    |                  |                    |
> |          |                                                                       |                  |                    |
> |          +---java.io.DataInputStream.readInt()                                   |                  |                    |
> |            |                                                                     |                  |                    |
> |            +---org.jgroups.blocks.TCPConnectionMap$TCPConnection$Receiver.run()  |                  |                    |
> |              |                                                                   |                  |                    |
> |              +---java.lang.Thread.run()                                          |                  |                    |
> +----------------------------------------------------------------------------------+------------------+--------------------+
>
>
>
> _______________________________________________
> infinispan-dev mailing list
> infinispan-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/infinispan-dev
>

-- 
Bela Ban, JGroups lead (http://www.jgroups.org)


More information about the infinispan-dev mailing list