This content has been marked as final. Show 24 replies
The message says: "See store open log messages". Can you check your WLS log for messages 280008 "opening", 280009 "opened" and anything between them for the store in question. If the lib was missing, 280008 would say driver="NIO".
If this is the case, check the value of the java.library.path property (dumped to the WLS log). It should contain an entry for $WL_HOME/server/native/<OS>/<CPU-ARCH> (e.g., C:\Middleware\wlserver[_10.3]\server\native\win\32). This directory should contain the wlfileio3 native lib.
What is your OS, storage type (local, NAS/SAN/NFS)?
I get this warning on Windows XP 32 bit for WLS 10.3.3 as well:
<12-mei-2010 10:09:02 uur CEST> <Warning> <Store> <BEA-280101> <The persistent file store "_WLS_AdminServer" is forced to use buffered I/O and so may have significantly degraded performance. Either the OS/hardware environment does not support the chosen write policy or the native wlfileio library is missing. See store open log messages for the requested and final write policies. See the documentation on store synchronous write policy configuration for advice.>
Thhe mentioned path is indeed not included, but how can I make sure that it is included??
I only have wlfileio2.dll and wlfileio3.dll in $MW_HOME\wlserver_10.3\server\native\win\32.
Is this possibly a bug in 10.3.3? I am having the same problem (SUN T5140,SUN JDK 32bit) and the libwlfileio3.so IS located in the java.library.path (/opt/bea/wlserver11/server/native/solaris/sparc in my case) Also, other .so files appear to be loading just fine i.e. libmuxer.so for Native I/O. Has anyone resolved this problem??
If it is true that "other .so files appear to be loading just fine", your case is different.
Please check your server <domain>/servers/<server>/logs/<server>.log and locate message 280008. If it says driver wlfileio3 as I assume, the file store library was loaded fine as well. In that case, the current mount point does not support unbuffered I/O. You may try to configure a store dir on a different mount.
There is a support note on generating native IO libraries on 64 bit OS.
Below is the note for windows:
Make sure that you installed the 64-bit version of the wlntio.dll file and that this file is available in the specified PATH. This file is generated if you install WebLogic using a 64-bit JDK. Please follow these steps:
Download the generic version of the WebLogic 10.3 installer package that is appropriate for you.
Download a 64-bit JDK from Sun or JRockit.
Install the JDK.
Install WebLogic using the 64-bit JDK:
<PATH_TO_64BIT_JDK>\java -jar <generic 10.3 jar file>
This will generate the 64-bit DLL file required for native IO on your 64-bit OS.
Edited by: atheek1 on 19-May-2010 19:00
Indeed, I do see wlfileio3:
<<WLS Kernel>> <> <> <1274805826347> <BEA-280008> <Opening the persistent file store "_WLS_WS_01-1" for recovery: directory=/opt/bea/domains/xxxx/servers
/WS_01-1/data/store/default requestedWritePolicy="Direct-Write" fileLockingEnabled=true driver="wlfileio3".>
Are there any OS package or .so dependencies required for this? I am running WL on a SUN SPARC T5140 and would expect that this would be supported on the local disk. I am running a more minimal OS installation than I have in the past. I did have to load some additional packages for nodemanager to work (libucb) but I received a blatantly obvious unsatisfied link error when that was encountered.
File Store doesn't throw an exception in such a case, it simply falls back on buffered I/O. In 10.3.2- File Store reported this saying directIO=false in message BEA-280050, and many users did not pay attention.
On Solaris unbuffered I/O is implemented using the directio system call. I am not too familiar with Solaris, and I don't know what dependencies it has. You can contact Support or try a Solaris forum.
All I can tell, we recently tested this on a T5440 and got expected results.
I opened a support ticket on this issue. I recently received an update that it could be a potential bug:
"I found a BUG related to the current issue i.e. BEA-280101 in WLS 10.3.3 for Linux 64 bit.
The BUG no. is 9672784 titled PERSISTENT STORE ALWAYS USES BUFFERED I/O ON LINUX 64BIT WITH WLS1033_DEV.ZIP
The BUG has already been raised however I'll try to replicate the issue on the Solaris machine.
I wasnt sure what to think since I am running this on Solaris and the bug is Linux related. I tested out the theory by installing 10.3.2 on the same server(s) experiencing the problem and I _DID NOT_ receive the BEA-280101 warning/error. So at this point, it looks like it might be a 10.3.3 bug. I'll post an update if I receive more information but it looks like I might be starting over with 10.3.2......
Edited by: Mike C. on Jun 5, 2010 8:26 AM
After rereading Gera's last post, I realized that he said 10.3.2 simply reports directIO=false rather than throwing the BEA-280101 message. So it looks like this may not be a 10.3.3 issue after all. I'll wait and see what support comes back with.....
writePolicy="Direct-Write" blockSize=512 directIO=false driver="wlfileio2"
Buffered writes imply a context/mode switch to the OS thread and copying write payload from the user space (WLS JVM) to the system cache (OS kernel space) before the data is actually sent to a storage device. A typical workload for file store (JMS, JTA) is write-only. E.g., JTA TM has to scan 2PC records only on a rare event of a crash. Hence during normal operation in the absence of reads, CPU cycles and memory bandwidth used to update the OS cache are wasted. The overhead of memory copying is saved by using direct (unbuffered) I/O.
We are also getting the same error on a Linux 10.3.3 installation with 64bit jrockit
Red Hat Enterprise Linux Server release 5.5
Linux 2.6.18-194.3.1.el5 #1 SMP x86_64 x86_64 x86_64 GNU/Linux
Is that the correct driver? This is a default weblogic installation, what is missing so it uses the correct I/O method?
####<Jun 22, 2010 6:04:12 PM CEST> <Info> <Store> <server> <wlserver> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <12772226524
27> <BEA-280008> <Opening the persistent file store "_WLS_admdominio1" for recovery: directory=/weblogic103/user_projects/domain/servers/server/data/store/default requestedWritePolicy="Dire
ct-Write" fileLockingEnabled=true driver="NIO".>
####<Jun 22, 2010 6:04:12 PM CEST> <Warning> <Store> <wlserver> <wlserver> <[ACTIVE] ExecuteThread: '0' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1277222652564> <BEA-280101> <The persistent file store "_WLS_wlserver" is forced to use buffered I/O and so may have significantly degraded performance. Either the OS/hardware environment does not support the chosen write policy or the native wlfileio library is missing. See store open log messages for the requested and final write policies. See the documentation on store synchronous write policy configuration for advice.>
Edited by: ezra-s on 22-jun-2010 18:46
Oracle WLS Team is currently tracking a 64-bit installer bug leading to native libs not being added to the java.library.path of JVM. The workaround to set it manually via -Djava.library.path JVM parameter or LD_LIBRARARY_PATH environment variable to $MW_HOME/wlserver_10.3/server/native/linux/x86_64