After upgrading to EV 15.1 a warning about Elasticsearch JVM heap usage is logged in the Enterprise Vault administration console.

Article: 100072183
Last Published: 2024-10-30
Ratings: 1 0
Product(s): Enterprise Vault

Problem

After upgrading to EV 15.1, a warning about Elasticsearch JVM heap usage is logged in the Enterprise Vault(EV) administration console.

Error Message

Below is the error which appears on the EV admin console:

In Dtrace we see the error message below:

1600      06:08:52.119      [4136]   (EVMonitoring) <EV_MONITORING_TYPE_ES_HEAP_MEMORY_USAGE:7588>               EV-H               {ESNestClient} Exception: The type initializer for 'PerTypeValues`1' threw an exception. Info:Elasticsearch, exception while flusing index : **, Exception: The type initializer for 'PerTypeValues`1' threw an exception. Diag: Type:System.TypeInitializationException ST:   at System.SpanHelpers.IsReferenceOrContainsReferences[T]()|   at Elasticsearch.Net.Extensions.NameValueCollectionExtensions.ToQueryString(NameValueCollection nv)|   at Elasticsearch.Net.RequestData.CreatePathWithQueryStrings(String path, IConnectionConfigurationValues global, IRequestParameters request)|   at Elasticsearch.Net.RequestData..ctor(HttpMethod method, String path, PostData data, IConnectionConfigurationValues global, IRequestParameters local, IMemoryStreamFactory memoryStreamFactory)|   at Elasticsearch.Net.Transport`1.Request[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)|   at Elasticsearch.Net.ElasticLowLevelClient.DoRequest[TResponse](HttpMethod method, String path, PostData data, IRequestParameters requestParameters)|   at Nest.ElasticClient.DoRequest[TRequest,TResponse](TRequest p, IRequestParameters parameters, Action`2 forceConfiguration)|   at Veritas.EnterpriseVault.Indexing.EVElasticsearchClient.ESNestClient.FlushIndex(String index, Boolean useWildcard) Inner:System.IO.FileLoadException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)|File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'|   at System.SpanHelpers.PerTypeValues`1.MeasureArrayAdjustment()|   at System.SpanHelpers.PerTypeValues`1..cctor()|WRN: Assembly binding logging is turned OFF.|To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.|Note: There is some performance penalty associated with assembly bind failure logging.|To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].|

 

Cause

In EV 15.1, multiple third party libraries are upgraded to the latest version, which causes this issue.

 

Solution

This issue can be resolved by adding the lines below to the EVMontoring.exe.config file:

  1. Edit the EVMonitoring.exe.config file (<EVInstall Directory>\Enterprise Vault).
  2. Add the following lines after </startup> tag and before </configuration> tag and save the file.

            <runtime>

    <generatePublisherEvidence enabled="false"/>

    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">

      <dependentAssembly>

        <assemblyIdentity name="System.Runtime.CompilerServices.Unsafe" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />

        <bindingRedirect oldVersion="0.0.0.0-5.0.20.51904" newVersion="5.0.0.0"/>

        <codeBase version="5.0.0.0" href="EVIndexingCommon/System.Runtime.CompilerServices.Unsafe.dll"/>

      </dependentAssembly>

    </assemblyBinding>

  </runtime>

       3. Restart all the EV services.

 

References

JIRA : CFT-6781

Was this content helpful?