Performance Issues Related to Database Operations After Shared File System NIO Integration

(Doc ID 2391594.1)

Last updated on MAY 02, 2018

Applies to:

Oracle WebCenter Sites - Version 12.2.1.0.0 and later
Information in this document applies to any platform.

Symptoms

Performance issues related to database operations after NIO integration.

Requested pages failing with "Error accessing the child pagelet with pmd: page: {pagename} .... Error code:GENERIC SERVER ERROR"

The following errors is seen in the logs:

 [ERROR] [] [oracle.wcsites.satellite.cache] [tid: 96] [userId: ] [ecid: eprWg0JQ000000000,0:1:1] [APP: sites] [partition-name: DOMAIN] [tenant-name: GLOBAL] Error accessing the child pagelet with pmd: page: ?c=VF_Component_C&cid=1508860623036&context=[content > 50 chars; not shown]&includePreviewHTML=false&isEditable=false&pagename=Example/Page&rendermode=live[[
COM.FutureTense.Common.ContentServerException: ContentServerException: (Reading page page: ?c=Content_C&cid=1508860623036&context=[content > 50 chars; not shown]&includePreviewHTML=false&isEditable=false&pagename=Example/Page&rendermode=live from co-resident Content Server failed (errno=0).) Error code:GENERIC SERVER ERROR

There are many errors in the logs related to datasource connection pool limit being reached:

weblogic.jdbc.extensions.PoolLimitSQLException: weblogic.common.resourcepool.ResourceLimitException: No resources currently available in pool wcsitesDS to allocate to applications, please increase the size of the pool and retry..

Additionally, in associated thread dumps, all the BLOCKED threads are blocked in the state waiting for another thread to generate the same page:

java.lang.Thread.State: BLOCKED (on object monitor)
at com.fatwire.cs.core.util.KeyThrottle.execute(KeyThrottle.java:77)

The threads that are blocking these threads are all waiting on shared filesystem operations reading from the database (NIO integration):

java.lang.Thread.State: WAITING (parking)
at sun.misc.Unsafe.park(Native Method)
- parking to wait for (a java.util.concurrent.locks.ReentrantReadWriteLock$NonfairSync)
at java.util.concurrent.locks.LockSupport.park(LockSupport.java:175)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.parkAndCheckInterrupt(AbstractQueuedSynchronizer.java:836)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.doAcquireShared(AbstractQueuedSynchronizer.java:967)
at java.util.concurrent.locks.AbstractQueuedSynchronizer.acquireShared(AbstractQueuedSynchronizer.java:1283)
at java.util.concurrent.locks.ReentrantReadWriteLock$ReadLock.lock(ReentrantReadWriteLock.java:727)
at oracle.sites.nio.filesystem.database.FSFileSystem.beginRead(FSFileSystem.java:111)
at oracle.sites.nio.filesystem.database.FSFileSystem.getFileAttributes(FSFileSystem.java:351)
at oracle.sites.nio.filesystem.database.FSFileSystemProvider.readAttributes(FSFileSystemProvider.java:260)
at oracle.sites.nio.filesystem.cache.CacheFileSystemProvider.readAttributes(CacheFileSystemProvider.java:283)
at java.nio.file.Files.readAttributes(Files.java:1737)
at java.nio.file.Files.getLastModifiedTime(Files.java:2266)
at COM.FutureTense.CatalogManager.ElementCatalog$ElementData.(ElementCatalog.java:122)

 

Changes

 

Cause

Sign In with your My Oracle Support account

Don't have a My Oracle Support account? Click to get started

My Oracle Support provides customers with access to over a
Million Knowledge Articles and hundreds of Community platforms