Some error Complex Ping Failed, hResult 1721

asadilak
2011-12-09
2012-11-29
  • asadilak
    asadilak
    2011-12-11

    To add to my previous post,

    I am using jinterop 2.06. Is there any value add in moving to Jinterop 2.08?

    I downloaded the 2.08 code and observe that the 2 minute ping timers fire at 4 minutes instead, was this done intentionally? Although, at different point in code, @JISession.java,

            // This schedule used to be every 2 mins.
    releaseRefsTimer.scheduleAtFixedRate(new Release_References_TimerTask(),0,2*60*1000);

    it is still 2 minutes. 

    While, this blurb in JIOxidRuntime says it is 4 minutes???

    static synchronized void startResolverTimer()
    {
    //schedule only 1 timer task , the task to ping the OIDs obtained.
    pingTimer_2minutes.scheduleAtFixedRate(new ClientPingTimerTask(),0,(int) (4 * 60 * 1000));

     
  • Hi Kiran,
                    When you say messages flow from Server to client , do you mean that you have implemented some interface provided by the COM server and then exported that out of j-Interop ? If that is the case then you can try  this http://j-interop.org/docs/org/jinterop/dcom/common/JISystem.html, setJavaCoClassAutoCollection(false);? , that would prevent j-interop from cleaning up local references when COM server does not send it the required pings (like we do in its direction).

    thanks,
    best regards,
    Vikram

     
  • asadilak
    asadilak
    2011-12-12

    Hi Vikram,

    Thanks for your reply.

    Yes, it is a java application which has been created using Mulesoft/msmq connector+jinterop 2.06 to connect to a msmq server on windows 2008 server. I have 2 queues, one inbound to my application and another outbound to the msmq server.

    The inbound queue(by meaning, I am listening for messages from the msqm server) is the one which fails out of the blue. I have been tracking logs on the application end and find that periodically, the 2 minute pings fail every once in a while, but the app chugs along. The logs continue to show complex ping failures, error 1721 for 20 minutes or so and everything quiets down.

    Initially, I worried about the volume of messages showing up on the queue(at its peak its like 200-300 messages of size 500-600 bytes) and come in continuous bursts of 5-10 minutes. The load may or may not be a factor as I have not been able to establish this related to the issue I am seeing

    Coming back to your note, yes - indeed, msqmconnector is the COM client talking to the COM server and listens for messages from it.

    I will give it a shot and report my results here.

    One question, Is there any benefit to upgrading from 2.06 to 2.08? I couldnt understand the gravity of changes explained in the release notes. Kindly write,

    thank you again
    Kiran

     
  • Hi Kiran,
                   Please stay with 2.06 for your current implementation.

    thanks,
    best regards,
    Vikram

     
  • asadilak
    asadilak
    2011-12-14

    Hello Vikram

    Thanks for your reply. I have one more question.

    I am observing ComplexPing failures in the outbound direction, every 2 minutes, i see a bunch of messages. Why would the DCOM client complain it is not able to ping the DCOM server,?

    In my investigations on error 1721, I wasnt sure of what the error meant. Using Err.exe available from microsoft site, i find that it maps to RPC_S_OUT_OF_RESOURCES, winerror.h?

    Is it possible that the TCP connection(I am assuming it is all TCP?), attempt to create to the DCOM server fails during a send? If an existing TCP connection is used, then I am completely puzzled why I would see hundreds of Complex Ping Failed messages?

    Is there some thing in RPC that is causing this failure to happen?

    would you recommend jcifs upgrade from 1.2.19 to the latest version 1.3.18 (jcifs-1.3.17 released / SO_TIMEOUT Fixed, Connect Timeout Control Added ). Reason I ask is, on my server, I see tons of TCP connections in TIME_WAIT mode, could this be related?

    any pointers appreciated
    best regards
    thanks
    Kiran

     
  • asadilak
    asadilak
    2011-12-14

    Ohh the other thing is, check these messages out, what is the client trying to ping so badly(a couple of times every few  milliseconds) and why is this happening?

    2011-12-13 19:35:26,118  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,119  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,119  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,120  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,121  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,121  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,122  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,123  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,123  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,124  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,125  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,125  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,126  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,126  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,127  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,128  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,128  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,129  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721
    2011-12-13 19:35:26,130  ERROR org.jinterop - Some error ! Complex ping failed , hresult: 1721

    Presumably, it is for a good reason, with FINEST logs, I see this happening on my test setup, a sunny day scenario

    2011-12-13 17:29:44,928  INFO  org.jinterop - Within ClientPingTimerTask: holder.seqNum 1
    7147717 2011-12-13 17:29:44,929  INFO  org.jinterop - Within ClientPingTimerTask: Holder SetID[ , currentSetOIDs[] is empty, will remove this from mapOfSe        ssionVsPingSetHolder, whose curent size is: 7
    7147718 2011-12-13 17:29:44,929  INFO  org.jinterop - Within ClientPingTimerTask: holder.currentSetOIDs, current size of which is 0
    7147719 2011-12-13 17:29:44,929  INFO  org.jinterop - Complex Ping going for the first time, will get the setId as response of this call
    7147720 2011-12-13 17:29:44,929  INFO  org.jinterop - Complex ping going : listOfAdds -> Size : 0 ,
    7147721 2011-12-13 17:29:44,929  INFO  org.jinterop - listOfDels -> Size : 0 ,
    7147722 2011-12-13 17:29:44,929  INFO  org.jinterop -
    7147723  Sending REQUEST
    7147724 2011-12-13 17:29:44,930  INFO  org.jinterop -
    7147725  Recieved RESPONSE
    7147726 2011-12-13 17:29:44,930  INFO  org.jinterop - Complex Ping Succeeded,  setId is : 00000: 00 00 00 B1 C1 AA 5C E2                          |…±~Aª\â       
             |
    7147727
    7147728
    7147729 2011-12-13 17:29:44,930  INFO  org.jinterop - Within ClientPingTimerTask: holder.seqNum 1
    7147730 2011-12-13 17:29:44,931  INFO  org.jinterop - Within ClientPingTimerTask: Holder SetID[ , currentSetOIDs[] is empty, will remove this from mapOfSe        ssionVsPingSetHolder, whose curent size is: 6
    7147731 2011-12-13 17:29:44,931  INFO  org.jinterop - Within ClientPingTimerTask: holder.currentSetOIDs, current size of which is 0
    7147732 2011-12-13 17:29:44,931  INFO  org.jinterop - Complex Ping going for the first time, will get the setId as response of this call
    7147733 2011-12-13 17:29:44,931  INFO  org.jinterop - Complex ping going : listOfAdds -> Size : 0 ,
    7147734 2011-12-13 17:29:44,931  INFO  org.jinterop - listOfDels -> Size : 0 ,
    7147735 2011-12-13 17:29:44,931  INFO  org.jinterop -
    7147736  Sending REQUEST
    7147737 2011-12-13 17:29:44,932  INFO  org.jinterop -
    7147738  Recieved RESPONSE
    7147739 2011-12-13 17:29:44,932  INFO  org.jinterop - Complex Ping Succeeded,  setId is : 00000: 00 00 00 B2 66 F6 DE 69                          |…²fö~^i        
            |
    7147740
    7147741
    7147742 2011-12-13 17:29:44,932  INFO  org.jinterop - Within ClientPingTimerTask: holder.seqNum 1
    7147743 2011-12-13 17:29:44,933  INFO  org.jinterop - Within ClientPingTimerTask: Holder SetID[ , currentSetOIDs[] is empty, will remove this from mapOfSe        ssionVsPingSetHolder, whose curent size is: 5
    7147744 2011-12-13 17:29:44,933  INFO  org.jinterop - Within ClientPingTimerTask: holder.currentSetOIDs, current size of which is 0
    7147745 2011-12-13 17:29:44,933  INFO  org.jinterop - Complex Ping going for the first time, will get the setId as response of this call