Uploaded image for project: 'Ignite'
  1. Ignite
  2. IGNITE-14577

.NET: error serialization failed when thread is interrupted

    XMLWordPrintableJSON

Details

    • New Feature
    • Status: Open
    • Minor
    • Resolution: Unresolved
    • None
    • None
    • platforms
    • Release Notes Required

    Description

      When using ICompute.WithTimeout, the following scenario is possible:

      • Timeout is reached, and Ignite interrupts compute job thread
      • InterruptedException is thrown from the job code
      • Ignite.NET tries to serialize the job result (exception) in BinaryUtils.WriteInvocationResult
      • BinaryProcessor.PutBinaryTypes is called during the serialization
      • Thread is interrupted, so metadata update fails with InterruptedException

      As a result, instead of a simple timeout exception, there is a lot of cryptic errors in the log (see attachments).

      Possible fixes:

      • Handle InterruptedException as a special case in WriteInvocationResult so we don't need to send meta updates
      • Do not interrupt binary meta updates

      Attachments

        1. Untitled
          4 kB
          Pavel Tupitsyn
        2. Untitled (1)
          5 kB
          Pavel Tupitsyn
        3. Untitled (2)
          5 kB
          Pavel Tupitsyn

        Activity

          People

            ptupitsyn Pavel Tupitsyn
            ptupitsyn Pavel Tupitsyn
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

            Dates

              Created:
              Updated: