none
BizTalk 2010 mqsc adapter and segmentation allowed not working RRS feed

  • Question

  • Hello,

    i am trying to send a  file to mq using  MQSC adapter   and segmentation allowed = true  but it  does not work.

    the MQ channel  is up to 4mb (mandatory).  when my file is =<  4mb, everything is  fine.

    but when the file is more than 4mb,  i  get  reason code=2010 which mean that MQ get my file not segmented =>  the segmentation process  did not work.

    Any help please?

    Wednesday, July 26, 2017 3:47 PM

All replies

  • Hello,

    i am trying to send a  file to mq using  MQSC adapter   and segmentation allowed = true  but it  does not work.

    the MQ channel  is up to 4mb (mandatory).  when my file is =<  4mb, everything is  fine.

    but when the file is more than 4mb,  i  get  reason code=2010 which mean that MQ get my file not segmented =>  the segmentation process  did not work.

    Any help please?

    Hi there,

    Looks like you exceeded the MaxWorkerThreads  limit for the host. Either increase MaxWorkerThreads or distribute the workload across other hosts, which I am not sure is possible on your scenario.


    My Technet Articles

    If you like this or another reply, vote it up!
    If you think this or another reply answers the original question, mark it or propose it as an answer.


    Mauricio Feijo
    www.mauriciofeijo.com




    Wednesday, July 26, 2017 3:55 PM
  • Can you post the full error?
    Wednesday, July 26, 2017 5:19 PM
  • Hi Johns,

    this is the error:

    The adapter failed to transmit message going to send port "mySendport" with URL "my mqsc connection" The system cannot find the file specified. "queue name". It will be retransmitted after the retry interval specified for this Send Port. Details:"Failure encountered while attempting to put message to queue. queue = myqeueuname, queueManager = queuemanager name, reasonCode = 2010".

    Thursday, July 27, 2017 8:16 AM

  • Hi there,

    Looks like you exceeded the MaxWorkerThreads  limit for the host. Either increase MaxWorkerThreads or distribute the workload across other hosts, which I am not sure is possible on your scenario.


    My Technet Articles

    If you like this or another reply, vote it up!
    If you think this or another reply answers the original question, mark it or propose it as an answer.


    Mauricio Feijo
    www.mauriciofeijo.com




    Hi BizTalkeritos,

    Did you  attempt my fix? What were your results?

    Thanks,


    My Technet Articles

    If you like this or another reply, vote it up!
    If you think this or another reply answers the original question, mark it or propose it as an answer.


    Mauricio Feijo
    www.mauriciofeijo.com

    Thursday, July 27, 2017 8:05 PM
  • Hi Mauricio,

    are you talking about   biztalk host instance  (who run the handler of my send port) ?

    Friday, July 28, 2017 7:18 AM
  • Hi Mauricio,

    are you talking about   biztalk host instance  (who run the handler of my send port) ?

    Yes. 

    This is a transcript of the MSDN Article Optimizing BizTalk Server Performance:


    Define CLR hosting thread values for BizTalk host instances

    Because a Windows thread is the most basic executable unit available to a Windows process, it is important to allocate enough threads to the .NET thread pool associated with an instance of a BizTalk host to prevent thread starvation. When thread starvation occurs, there are not enough threads available to perform the requested work that negatively impacts performance. At the same time, care should be taken to prevent allocating more threads to the.NET thread pool associated with a host than is necessary. The allocation of too many threads to the .NET thread pool associated with a host may increase context switching. Context switching occurs when the Windows kernel switches from running one thread to a different thread, which incurs a performance cost. Excessive thread allocation can cause excessive context switching, which will negatively impact overall performance.

    Modify the number of Windows threads available in the .NET thread pool associated with an instance of a BizTalk host by creating the appropriate CLR Hosting values in the registry of the BizTalk Server.

    Cc594552.Caution(en-US,BTS.10).gifWarning
    Incorrect use of Registry Editor may cause problems requiring you to reinstall your operating system. Use Registry Editor at your own risk. For more information about how to back up, restore, and modify the registry, see the Microsoft Knowledge Base article "Description of the Microsoft Windows registry" at http://go.microsoft.com/fwlink/?LinkId=62729.

    Cc594552.note(en-US,BTS.10).gifNote
    Worker threads are used to handle queued work items and I/O threads are dedicated callback threads associated with an I/O completion port to handle a completed asynchronous I/O request.

    To modify the number of threads available in the .NET thread pool associated with each instance of a BizTalk host, follow these steps:

    1. Stop the BizTalk host instance.
    2. Click Start, click Run, type regedit.exe, and then click OK to start Registry Editor.
      Navigate to HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvc$hostname] where hostname is the name of the host associated with the host instance.
      Cc594552.note(en-US,BTS.10).gifNote
      If you have upgraded your BizTalk Server 2006 installation from BizTalk Server 2004, this registry key may be represented as HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTSSvcguid] where guid is a GUID unique to each instance of a BizTalk Server host.

    3. Locate the CLR Hosting key. If this key does not exist, then create the key by following these steps:

      1. On the Edit menu, click New, and then click Key.
      2. Type CLR Hosting, and then press ENTER.
    4. Under the CLR Hosting key, create the following DWORD entries with the indicated values.

      DWORD entry Default value Recommended value

      MaxIOThreads

      20

      100

      MaxWorkerThreads

      25

      100

      Cc594552.Important(en-US,BTS.10).gifImportant
      Increasing this value beyond 100 can have an adverse effect on the performance of the SQL Server computer hosting the BizTalk Server MessageBox database. When this problem occurs, SQL Server may encounter a deadlock condition. It is recommended this parameter is not increased beyond a value of 100.

      MinIOThreads

      1

      25

      MinWorkerThreads

      1

      25

      Cc594552.note(en-US,BTS.10).gifNote
      These recommended values will be sufficient for most scenarios but may need to be increased depending on how many adapter handlers or orchestrations are running in each host instance.

      Cc594552.note(en-US,BTS.10).gifNote
      These values are implicitly multiplied by the number of processors on the server. For example, setting the MaxWorkerThreads entry to a value of 100 would effectively set a value of 400 on a 4 CPU server.

    5. Close Registry Editor.
    6. Restart the BizTalk host instance.


    My Technet Articles

    If you like this or another reply, vote it up!
    If you think this or another reply answers the original question, mark it or propose it as an answer.


    Mauricio Feijo
    www.mauriciofeijo.com

    Friday, July 28, 2017 1:54 PM