Helpful Steps to Take when irCatalog Times Out

  • Updated

 

If irCatalog ever times out it may be difficult to track down the actual issue. Below are some helpful steps to get past these type of issues. You can adjust the timeout on both client irAuthor and server machines irCatalog. After that, there is some general information as to where to locate error information in the logs from InRule that are contained in Event Viewer. Keep in mind that you will want to examine event logs from both the client and server machines.

Time-out errors with the catalog can sometimes occur when a rule application, or the catalog itself, becomes very large, or when there is latency between different servers. Such as between the server hosting the catalog service and the server hosting the catalog database (in cases where they are on different servers). 

These time-out issues can usually be resolved by increasing either the client-side or server-side settings.

 

Start off by increasing the client-side catalog time-out setting. This is found when you are connecting to the catalog service. 

 

mceclip1.png

 

 

If that does not resolve the error, then try increasing some of the time-out settings in the catalog service’s web.config file, located at "C:\Program Files (x86)\InRule\irServer\RepositoryService\IisService\web.config".

 

Here is an excerpt of a web.config, with various settings increased. The settings most relevant to time-out errors are highlighted in red below.

 

<inrule.repository.service>
    <connectionString>Server=MALENPAD3\SQLEXPRESS;Database=InRuleCatalog;Integrated Security=SSPI</connectionString>
    <authentication type="Database" /> <!--<authentication type="LDAP"><path>LDAP://RootDSE</path><domain>INRULE</domain></authentication>-->
    <catalogType>SqlServer</catalogType>
    <maxitemsinobjectgraph>2147483647</maxitemsinobjectgraph>
    <lockAcquisitionTimeoutInSeconds>2147483647</lockAcquisitionTimeoutInSeconds>
    <commandBatchSize>2147483647</commandBatchSize>
      <commandTimeout>2147483647</commandTimeout> below:
</inrule.repository.service><runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
        <assemblyIdentity name="Oracle.DataAccess" publicKeyToken="89b483f429c47342" culture="neutral" />
            <bindingRedirect oldVersion="2.0.0.0-99.0.0.0" newVersion="2.102.2.20" />
        </dependentAssembly>
    </assemblyBinding>
</runtime><system.serviceModel>
    <bindings>
        <wsHttpBinding>
            <binding name="WSHttpBinding" maxBufferPoolSize="2147483647"  maxReceivedMessageSize="2147483647" closeTimeout="00:30:00" openTimeout="00:30:00" receiveTimeout="00:30:00" sendTimeout="00:30:00">
                <readerQuotas maxStringContentLength="2147483647" maxDepth="2147483647" maxBytesPerRead="2147483647" maxArrayLength="2147483647" maxNameTableCharCount="2147483647" />
                <security mode="None"> <!-- **WARNING** Changes to the security binding must also be made in client binding code -->
                    <transport clientCredentialType="None" proxyCredentialType="None" />
                    <message clientCredentialType="None" />
                </security>
            </binding>
        </wsHttpBinding>
    </bindings>
    <services>
        <service name="InRule.Repository.Service.RepositoryService" behaviorConfiguration="repositoryServiceBehavior">
            <endpoint binding="wsHttpBinding" bindingConfiguration="WSHttpBinding" contract="InRule.Repository.Service.ICatalogServiceContract" /> <!-- ** NOTE Metadata not supported SSL at this time **--> <!--<endpoint address="mex" binding="mexHttpBinding" contract="IMetadataExchange"/>-->
        </service>
    </services>
    <behaviors>
        <serviceBehaviors>
            <behavior name="repositoryServiceBehavior">
                <serviceDebug httpHelpPageEnabled="true" />
                <dataContractSerializer maxItemsInObjectGraph="2147483647" />
            </behavior>
        </serviceBehaviors>
    </behaviors>
    <diagnostics>
        <messageLogging logEntireMessage="false" logMalformedMessages="false" logMessagesAtServiceLevel="false" logMessagesAtTransportLevel="false" maxMessagesToLog="3000" />
    </diagnostics>
</system.serviceModel><system.web> <!-- impersonation disabled by default, since inrule installer assumes this -->
    <identity impersonate="false" />
    <customErrors mode="Off" />
    <authentication mode="None" />
    <compilation defaultLanguage="c#" debug="false" />
    <httpRuntime  executionTimeout="2147483647" maxRequestLength="2147483647" /> <!-- This specifies max exec time and the largest file that can be transferred -->
</system.web>

 

The best place to start looking for error details from InRule components is the in the "Applications and Services Logs" in the Event Viewer. To open the Event Viewer, just press Start, then Event Viewer to bring up the screen below. In a typical installation, an InRule specific event log will be shown by clicking InRule referenced by selection 1. 

 

EventViewerN.png

 

 

If the problem still persists after following the above steps then please contact our help desk directly at support@inrule.com or use the help button in the lower left side of this support page.

 

Was this article helpful?

0 out of 0 found this helpful

Comments

0 comments

Please sign in to leave a comment.