Clarification on Visibility database

Hi,

If I do not intend to use Advanced Visibility of Temporal, is it still mandatory to provide Cassandra Visibility parameters while configuring temporal using helm chart? Can I just provide core database related cassandra properties and setup temporal cluster without Visibility database?
Will I get Standard Visibility features even when Visibility database as well as Elastic Search integration is not done…?

@tihomir Can you please clarify on this.

You cannot turn off visibility. You can define to use standard and/or enhanced visibility with Elasticsearch.

In dynamic config system.advancedVisibilityWritingMode can be set to:

  1. off - visibility records are not written to enhanced visibility store
  2. on - visibility records are written to only enhanced visibility store
  3. dual - write to both visibility store and enhanced visibility store

If you set up your cluster with Elasticsearch as enhanced visibility store then there should be no need to also set up cassandra/mysql/postesql visibility settings.

Thanks! Btw, what is the default value of system.advancedVisibilityWritingMode?

Depends on your cluster configuration, see here and here.

So its dependent on your persistence->advancedVisibilityStore config being defined or not if you do not set it explicitly.

@tihomir Quick question on this. Is there a recommendation from temporal on this? If we have ES set up - is there any downside of writing only to ES and not to the visibility db?

For production use cases where high loads are common ES is the recommended way for storing visibility records.

Thanks and we can choose to write only to ES right? I am assuming that there is no known downside of choosing to write only to ES.

Yes, if you configure advancedVisibilityStore in your persistence config it should default to writing to advanced visibility store only (same as setting system.advancedVisibilityWritingMode to on in dynamic config)