-
Notifications
You must be signed in to change notification settings - Fork 216
WLS on AKS: apply mountOptions "nobrl" to automation script. #2445
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
Conversation
|
Hello @edburns @mriccell @rjeberhard could you please review the PR, thank you! |
...mples/scripts/create-weblogic-domain-on-azure-kubernetes-service/azure-file-pv-template.yaml
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
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.
rosemarymarano
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Minor edits
| - 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This is necessary as of this writing because -> Currently, this is necessary because
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 9e2dc7c.
|
|
||
| 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
as shown above. -> as shown previously.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 9e2dc7c.
| - 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WebLogic server-> WebLogic Server (globally)
command line values -> command-line values
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 9e2dc7c.
|
|
||
| - 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.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
WebLogic servers -> WebLogic Servers
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Fixed in 9e2dc7c.
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: