> For the complete documentation index, see [llms.txt](https://docs.pinot.apache.org/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.pinot.apache.org/release-1.0.0/configuration-reference/cluster.md).

# Cluster

## Cluster Configs Definition

These are the properties that be set at the cluster level.

| Property                                 | Default | Description                                                                                                                                                                                                                                                                                                                                                                                                                       |
| ---------------------------------------- | ------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| allowParticipantAutoJoin                 | true    | This is a Helix Property that allows any Pinot Server/Broker/Controller to automatically join the cluster. This is true by default. Operators can set this to false for more control. If you set this to false, you will have to explicitly invoke `/Instance/addInstance` API. This property is checked when a Pinot node starts and has no effect once the node is connected to the cluster.                                    |
| enable.case.insensitive                  | true    | By default, Pinot queries are case insensitive. Table name, column name, etc are case insensitive. This is because the schema is still optional for batch tables. If you have a schema, you can set this to false and pinot will accept any case for table names and columns. This property is applicable to the broker and is read only when the broker starts. Changing this property will require restarting the broker.       |
| pinot.broker.enable.query.limit.override | false   | This allows operators to protect the Pinot cluster against bad queries with large limits. By setting this to true, if Pinot broker override query limit when it is larger than broker config:`pinot.broker.query.response.limit (Default is 2147483647).`E.g. If set`pinot.broker.query.response.limit=1000` in Broker conf, then query`SELECT * FROM myTable LIMIT 25000`will be override to `SELECT * FROM myTable LIMIT 1000`. |
| default.hyperloglog.log2m                | 8       | This is a special config to override for hyperloglog that is used for approximate distinct count. Default value is 8.                                                                                                                                                                                                                                                                                                             |
| queryConsoleOnlyView                     | false   | Only show query console for controller web UI, this is useful when you don't want to expose cluster or ZK UI to Users.                                                                                                                                                                                                                                                                                                            |
| hideQueryConsoleTab                      | false   | Hide query console tab from controller web UI, this is useful when you don't want to expose query console UI to Users.                                                                                                                                                                                                                                                                                                            |

## Cluster Configs APIs

![](https://content.gitbook.com/content/gYpmZ5dnYUh7aQjLUJ9b/blobs/Pa0ULswaWXs0ES4N2z72/Screen%20Shot%202020-07-01%20at%2010.29.33%20PM.png)

## List All Cluster Configs

<mark style="color:blue;">`GET`</mark> `http://<controller>:<port>/cluster/configs`

**Description**

\- Lists all the configurations set at the cluster level

{% tabs %}
{% tab title="200 " %}

```
{
  "allowParticipantAutoJoin": "true",
  "enable.case.insensitive": "false",
  "pinot.broker.enable.query.limit.override": "false",
  "default.hyperloglog.log2m": "8"
}
```

{% endtab %}
{% endtabs %}

## Update Cluster Configs

<mark style="color:green;">`POST`</mark> `http://<controller>:<port>/cluster/configs`

Add new or update existing cluster configs.

#### Request Body

| Name | Type   | Description                                                                                                                                 |
| ---- | ------ | ------------------------------------------------------------------------------------------------------------------------------------------- |
|      | string | <p>JSON body contains the configs map for new/updated configs. E.g.</p><p><strong><code>{"queryConsoleOnlyView":"true"}</code></strong></p> |

{% tabs %}
{% tab title="200 " %}

```
{
  "status": "Updated cluster config."
}
```

{% endtab %}
{% endtabs %}

Example:

![](https://content.gitbook.com/content/gYpmZ5dnYUh7aQjLUJ9b/blobs/D8Qka4y8EN0mh38OBHTu/image%20\(9\).png)


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.pinot.apache.org/release-1.0.0/configuration-reference/cluster.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
