WLS on AKS: apply mountOptions "nobrl" to automation script.#2445
Conversation
|
Hello @edburns @mriccell @rjeberhard could you please review the PR, thank you! |
There was a problem hiding this comment.
We will either need to:
- Document the risks of
nobrl. Off the top of my head, I think this is only suitable if (a) no critical information such as JMS messages, JTA records, or timer records are stored in file stores -OR- in strictly controlled and well understood circumstances, service migration is disabled for file stores, and (b) no third party product/system/app-code depends on byte range locks. - Or switch to a file system that supports locking.
Discussion continues in slack.
|
Hello @tbarnes-us thanks for your comments.
It is also mentioned as useful options in the AKS official troubleshooting guideline. I also add notes in the document to draw customer's attention, in case they have any specific requirements that stop using the option. |
|
|
|
Hello @galiacheng , if you grant me push access to your fork, I can push this commit. It contains a rewording of the helpful content from @tbarnes-us . Otherwise, you can apply this patch. |
Signed-off-by: Ed Burns <edburns@microsoft.com> Changes to be committed: modified: create-aks-cluster-storage.txt
tbarnes-us
left a comment
There was a problem hiding this comment.
Approving - the changes look good to me overall.
Minor suggestion: please consider adding #additional-important-file-locking-information and #mitigating-corruption-risk-when-locking-is-disabled to the table of contents at the top of the doc.
@rosemarymarano (doc lead) ideally should also review.
| - nobrl | ||
| ``` | ||
|
|
||
| **Note:** This sample includes `nobrl` in the `mountOptions` to disable byte range file locking on the `azurefile` storage class. This is necessary as of this writing because the `azurefile` storage class does not support advisory byte range locking. This approach is documented in the [Azure Kubernetes Service FAQ](https://docs.microsoft.com/en-us/azure/aks/troubleshooting#what-are-the-default-mountoptions-when-using-azure-files). |
There was a problem hiding this comment.
This is necessary as of this writing because -> Currently, this is necessary because
|
|
||
| Here are several different approaches to disable file locking. | ||
|
|
||
| - When using the `azurefile` storage class, you can universally disable locking on the entire file system by enabling the `nobrl` mount option, as shown above. |
There was a problem hiding this comment.
as shown above. -> as shown previously.
| - When using the operator, you can provide this configuration without needing to modify your original configuration using [configuration overrides](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/configoverrides/) for Domain on PV or Domain in Image, or [runtime updates](https://oracle.github.io/weblogic-kubernetes-operator/userguide/managing-domains/model-in-image/runtime-updates/) for Model in Image | ||
| - Note that this can be a substantial amount of work and error prone as it requires configuration updates for each individual default store, custom file store, and JMS paging store. | ||
|
|
||
| - You can disable all file store locks on a particular WebLogic server JVM by _both_ applying patch `32471832` and setting `-Dweblogic.store.file.LockEnabled=false`. When using the operator, you can set command line values using the `JAVA_OPTIONS` env var in `spec.serverPod.env` domain resource attribute. This will work for any operator domain home source type. |
There was a problem hiding this comment.
WebLogic server-> WebLogic Server (globally)
command line values -> command-line values
|
|
||
| - File store service migration is not supported when file locking is disabled because it relies on file locks for safe behavior. | ||
|
|
||
| - Service migration is a WebLogic high availability option that is typically configured to enable data recovery on surviving WebLogic servers in a cluster upon an unexpected WebLogic server failure. It is also used to enable JMS and JTA data recovery from WebLogic servers that are shutdown due to a cluster shrink. |
There was a problem hiding this comment.
WebLogic servers -> WebLogic Servers
modified: documentation/staging/content/samples/simple/azure-kubernetes-service/includes/create-aks-cluster-storage.txt - Apply suggestions from @rosemarymarano.
|
Hello @tbarnes-us I did consider your suggestion about the TOC link, but because of the inclusion mechanism it would require introducing a dependency between the outer domain-on-pv.md. Because this content will ultimately reside in the FAQ, per #2453 I judged it best not to add the toc links. |
nobrl: Do not send byte range lock requests to the server. Otherwise, when restarting the domain that is persisted to pv, error message could be like following: