Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add introduced userstore circuit breaker configuration to 5.10 and 6.1.0 #4662

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -323,12 +323,44 @@ false: Set it to false if the user roles are changed by external means and those
</tbody>
</table>

!!! note
Starting from update level <update_level>, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>

!!! note
Addition to these properties, you can configure SQL queries that are
used in JDBC user store manager and if required can change default
queries. Those are not listed under above property section but you can
do the configuration as same as described above.


??? note "JDBC sample property with SQL queries"

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -90,6 +90,40 @@ connection_url = "ldap://localhost:10389"
connection_name = "uid=admin,ou=system"
connection_password = "admin"
```

!!! note
Starting from update level <update_level>, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>

Apart from above properties WSO2 Identity Server also supports advanced LDAP configurations.
Please refer to the following topic.

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,40 @@ connection_url = "ldaps://10.100.1.102:639"
connection_name = "cn=admin,ou=system"
connection_password = "admin"
```

!!! note
Starting from update level <update_level>, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>

## Properties used in Read-write Active Directory userstore manager

The following table lists the properties used in Read-write Active
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -89,6 +89,40 @@ connection_url = "ldap://localhost:10389"
connection_name = "uid=admin,ou=system"
connection_password = "admin"
```

!!! note
Starting from update level <update_level>, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>

Apart from above properties WSO2 Identity Server also supports advanced LDAP configurations.
Please refer to the following topic.

Expand Down
19 changes: 19 additions & 0 deletions en/identity-server/5.10.0/docs/setup/configuring-user-stores.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,6 +13,25 @@ configured under these two types.

![user-store-types](../assets/img/using-wso2-identity-server/user-store-types.png)

!!! info
Starting from update level <update_level>, the circuit breaker for userstores is
introduced to ignore unavailable userstores, ensuring smooth operations
in the Identity Server. If it is necessary to enable this behavior,
add the following configuration to the `<IS_HOME>/repository/conf/deployment.toml` file:
```
[user_store]
enable_circuit_breaker_for_user_stores=true
```
!!! info
Additionally, the following properties have been introduced to support the circuit
breaker, specifying the maximum values for re-establishing the connection as a
server-wide configuration:
```
[user_store]
maxConnectionRetryCount=2
maxConnectionRetryDelayInMilliSeconds=12000
```

## Primary User Store (Mandatory)

This is the main user store that is shared among all the
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -301,6 +301,40 @@ false: Set it to <code>false</code> if the user roles are changed by external me
</tbody>
</table>

!!! note
Starting from update level wso2is-6.1.0.185, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>


!!! note
In addition to these properties, you can configure SQL queries that are
used in the JDBC userstore manager and if required can change default
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -94,6 +94,39 @@ connection_password = "admin"
```
Apart from the properties mentioned above, WSO2 Identity Server also supports advanced LDAP configurations.

!!! note
Starting from update level 6.1.0.185, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>

!!! note
It is important to map the `Username` and `User ID` claims correctly to the values used for `Username Attribute` and `User ID Attribute` properties in the userstore configuration for user authentication to work properly.<br />
Claim mappings can be done through the management console as explained in [edit claim mapping]({{base_path}}/guides/dialects/edit-claim-mapping).
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -95,6 +95,39 @@ connection_name = "cn=admin,ou=system"
connection_password = "admin"
```

!!! note
Starting from update level 6.1.0.185, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>

In addition to the above, please make sure that you import the Active Directory user store public certificate to the
WSO2 Identity Server’s client trust store. To perform this, you need to navigate to the
`<IS_HOME>repository/resources/security` directory and execute the following command to import the certificate to
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -92,6 +92,40 @@ connection_password = "admin"
```
Apart from above properties, WSO2 Identity Server also supports advanced LDAP configurations.

!!! note
Starting from update level 6.1.0.185, the following userstore properties have
been introduced to support the circuit breaker for userstores. This feature is enabled
by default to ignore unavailable userstores, ensuring smooth operations in the Identity Server.
<table>
<thead>
<tr class="header">
<th>Property Id</th>
<th>Primary userstore Property</th>
<th>Secondary userstore Property</th>
<th>Description</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td>ConnectionRetryCount</td>
<td>connection_retry_count</td>
<td>ConnectionRetryCount</td>
<td>Specifies the connection retry counts to retry establishing the connection<br />
<br />
<p>Default : 2</p></td>
</tr>
<tr class="even">
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>connection_retry_delay_in_milli_seconds</td>
<td>ConnectionRetryDelayInMilliSeconds</td>
<td>Specifies the connection retry delay in milliseconds to wait until re-establishing the connection<br />
<br />
<p>Default : 12000</p></td>
</tr>
</tbody>
</table>


!!! note
It is important to map the `Username` and `User ID` claims correctly to the values used for `Username Attribute` and `User ID Attribute` properties in the userstore configuration for user authentication to work properly.<br />
Claim mappings can be done through the management console as explained in [edit claim mapping]({{base_path}}/guides/dialects/edit-claim-mapping).
Expand Down
19 changes: 19 additions & 0 deletions en/identity-server/6.1.0/docs/deploy/configure-user-stores.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,25 @@ configured under these two types.

![user-store-types]({{base_path}}/assets/img/deploy/user-store-types.png)

!!! info
Starting from update level 6.1.0.185, the circuit breaker for userstores is
introduced to ignore unavailable userstores, ensuring smooth operations
in the Identity Server. If it is necessary to enable this behavior,
add the following configuration to the `<IS_HOME>/repository/conf/deployment.toml` file:
```
[user_store]
enable_circuit_breaker_for_user_stores=true
```
!!! info
Additionally, the following properties have been introduced to support the circuit
breaker, specifying the maximum connection retry count & minimum connection retry delay values
for re-establishing the connection as a server-wide configuration:
```
[user_store]
maxConnectionRetryCount=2
minConnectionRetryDelayInMilliSeconds=60000
```

---

## Primary userstore (Mandatory)
Expand Down