11.1.1.7 - Cannot activate repository due to file locking error — Oracle Analytics

Oracle Analytics Cloud and Server

Welcome to the Oracle Analytics Community: Please complete your User Profile and upload your Profile Picture

11.1.1.7 - Cannot activate repository due to file locking error

Received Response
11
Views
9
Comments
Mark.Thompson
Mark.Thompson Rank 6 - Analytics Lead

I am attempting to activate a new repository in Fusion Middleware.  I can select the repository, click Apply, then click Activate Changes.  After a couple of minutes, I get this error screen:

2017-06-21_11-50-39.gif

An series of identical lines in the AdminServer-diagnostic.log tells me this:

[2017-06-21T12:39:57.721-04:00] [AdminServer] [NOTIFICATION] [] [oracle.bi.management.sysmancommon] [tid: Thread-131] [userId: weblogic] [ecid: 3f3d2d8955322f32:-6d421d39:15ccb12ac1c:-8000-000000000000026a,1:23532] [APP: biadminservices#11.1.1] tryExclusiveFileLock: about to create RandomAccessFile in read/write mode...

[2017-06-21T12:39:56.280-04:00] [AdminServer] [NOTIFICATION] [] [oracle.bi.management.sysmancommon] [tid: Thread-131] [userId: weblogic] [ecid: 3f3d2d8955322f32:-6d421d39:15ccb12ac1c:-8000-000000000000026a,1:23532] [APP: biadminservices#11.1.1] tryExclusiveFileLock: tryLock() returned NULL as some other process already has the lock acquired

After it puts that into the log several times, it records this:

[2017-06-21T12:41:57.622-04:00] [AdminServer] [ERROR] [] [oracle.bi.management.sysmancommon] [tid: Thread-131] [userId: weblogic] [ecid: 3f3d2d8955322f32:-6d421d39:15ccb12ac1c:-8000-000000000000026a,1:23532] [APP: biadminservices#11.1.1] SEVERE: Element Type: DOMAIN, Element Id: null, Operation Result: FAILED_TO_OBTAIN_DOMAIN_FILE_LOCK, Detail Message: java.util.concurrent.TimeoutException: Timeout; Waiting for lock: Domain Config lock; c:\mw_home1\USER_P~1\domains\BIFOUN~1\config\FMWCON~1\biee-config.lock; [121 secs][[

java.io.IOException: java.util.concurrent.TimeoutException: Timeout; Waiting for lock: Domain Config lock; c:\mw_home1\USER_P~1\domains\BIFOUN~1\config\FMWCON~1\biee-config.lock; [121 secs]

    at oracle.bi.management.sysmancommon.util.LockFileUtils.waitForLockOrTimeout(LockFileUtils.java:162)

    at oracle.bi.management.adminservices.model.impl.DomainManagerImpl._pushConfig(DomainManagerImpl.java:867)

    at oracle.bi.management.adminservices.model.impl.DomainManagerImpl.commit(DomainManagerImpl.java:509)

    at oracle.bi.management.adminservices.mbeans.impl.BIDomainMBeanImpl.commit(BIDomainMBeanImpl.java:225)

    at oracle.bi.management.adminservices.mbeans.impl.BIDomainMBeanImpl.commit(BIDomainMBeanImpl.java:258)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at oracle.as.jmx.framework.standardmbeans.spi.OracleStandardEmitterMBean.doInvoke(OracleStandardEmitterMBean.java:1012)

    at oracle.adf.mbean.share.AdfMBeanInterceptor.internalInvoke(AdfMBeanInterceptor.java:104)

    at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)

    at oracle.as.jmx.framework.generic.spi.security.AbstractMBeanSecurityInterceptor.internalInvoke(AbstractMBeanSecurityInterceptor.java:190)

    at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)

    at oracle.security.jps.ee.jmx.JpsJmxInterceptor$2.run(JpsJmxInterceptor.java:358)

    at java.security.AccessController.doPrivileged(Native Method)

    at oracle.security.jps.util.JpsSubject.doAsPrivileged(JpsSubject.java:324)

    at oracle.security.jps.ee.util.JpsPlatformUtil.runJaasMode(JpsPlatformUtil.java:460)

    at oracle.security.jps.ee.jmx.JpsJmxInterceptor.internalInvoke(JpsJmxInterceptor.java:374)

    at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)

    at oracle.as.jmx.framework.generic.spi.interceptors.ContextClassLoaderMBeanInterceptor.internalInvoke(ContextClassLoaderMBeanInterceptor.java:103)

    at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)

    at oracle.as.jmx.framework.generic.spi.interceptors.MBeanRestartInterceptor.internalInvoke(MBeanRestartInterceptor.java:116)

    at oracle.as.jmx.framework.generic.spi.interceptors.AbstractMBeanInterceptor.doInvoke(AbstractMBeanInterceptor.java:252)

    at oracle.as.jmx.framework.standardmbeans.spi.OracleStandardEmitterMBean.invoke(OracleStandardEmitterMBean.java:924)

    at com.sun.jmx.interceptor.DefaultMBeanServerInterceptor.invoke(DefaultMBeanServerInterceptor.java:836)

    at com.sun.jmx.mbeanserver.JmxMBeanServer.invoke(JmxMBeanServer.java:761)

    at weblogic.management.mbeanservers.domainruntime.internal.FederatedMBeanServerInterceptor.invoke(FederatedMBeanServerInterceptor.java:349)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$16.run(WLSMBeanServerInterceptorBase.java:449)

    at java.security.AccessController.doPrivileged(Native Method)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.invoke(WLSMBeanServerInterceptorBase.java:447)

    at weblogic.management.mbeanservers.internal.JMXContextInterceptor.invoke(JMXContextInterceptor.java:263)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$16.run(WLSMBeanServerInterceptorBase.java:449)

    at java.security.AccessController.doPrivileged(Native Method)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.invoke(WLSMBeanServerInterceptorBase.java:447)

    at weblogic.management.mbeanservers.internal.SecurityMBeanMgmtOpsInterceptor.invoke(SecurityMBeanMgmtOpsInterceptor.java:65)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase$16.run(WLSMBeanServerInterceptorBase.java:449)

    at java.security.AccessController.doPrivileged(Native Method)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServerInterceptorBase.invoke(WLSMBeanServerInterceptorBase.java:447)

    at weblogic.management.mbeanservers.internal.SecurityInterceptor.invoke(SecurityInterceptor.java:444)

    at weblogic.management.jmx.mbeanserver.WLSMBeanServer.invoke(WLSMBeanServer.java:323)

    at weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$11$1.run(JMXConnectorSubjectForwarder.java:663)

    at java.security.AccessController.doPrivileged(Native Method)

    at weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder$11.run(JMXConnectorSubjectForwarder.java:661)

    at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)

    at weblogic.management.mbeanservers.internal.JMXConnectorSubjectForwarder.invoke(JMXConnectorSubjectForwarder.java:654)

    at javax.management.remote.rmi.RMIConnectionImpl.doOperation(RMIConnectionImpl.java:1427)

    at javax.management.remote.rmi.RMIConnectionImpl.access$200(RMIConnectionImpl.java:72)

    at javax.management.remote.rmi.RMIConnectionImpl$PrivilegedOperation.run(RMIConnectionImpl.java:1265)

    at java.security.AccessController.doPrivileged(Native Method)

    at javax.management.remote.rmi.RMIConnectionImpl.doPrivilegedOperation(RMIConnectionImpl.java:1367)

    at javax.management.remote.rmi.RMIConnectionImpl.invoke(RMIConnectionImpl.java:788)

    at javax.management.remote.rmi.RMIConnectionImpl_WLSkel.invoke(Unknown Source)

    at weblogic.rmi.internal.ServerRequest.sendReceive(ServerRequest.java:174)

    at weblogic.rmi.internal.BasicRemoteRef.invoke(BasicRemoteRef.java:222)

    at javax.management.remote.rmi.RMIConnectionImpl_1035_WLStub.invoke(Unknown Source)

    at javax.management.remote.rmi.RMIConnector$RemoteMBeanServerConnection.invoke(RMIConnector.java:993)

    at weblogic.management.remote.wlx.ClientProvider$WLXMBeanServerConnectionWrapper.invoke(ClientProvider.java:291)

    at weblogic.management.remote.wlx.ClientProvider$WLXMBeanServerConnectionWrapper.invoke(ClientProvider.java:291)

    at oracle.sysman.emai.model.bi.impl.JmxUtil.invokeMethod(JmxUtil.java:184)

    at oracle.sysman.emai.model.bi.mbean.LockSaveRevertAssistant.commit(LockSaveRevertAssistant.java:185)

    at oracle.sysman.emai.view.bi.LockSaveRevertView.saveWithProgress(LockSaveRevertView.java:280)

    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)

    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)

    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)

    at java.lang.reflect.Method.invoke(Method.java:597)

    at oracle.sysman.emas.sdk.progress.WorkWrapper.run(WorkWrapper.java:96)

    at java.lang.Thread.run(Thread.java:662)

Caused by: java.util.concurrent.TimeoutException: Timeout; Waiting for lock: Domain Config lock; c:\mw_home1\USER_P~1\domains\BIFOUN~1\config\FMWCON~1\biee-config.lock; [121 secs]

    at oracle.bi.management.sysmancommon.util.ConditionWaiter.waitForCondition(ConditionWaiter.java:133)

    at oracle.bi.management.sysmancommon.util.LockFileUtils.waitForLockOrTimeout(LockFileUtils.java:158)

    ... 67 more

Where do I go from here?  The NQSConfig.ini file still shows the old file name, so I can't just restart services or reboot the machine.

Answers

  • Mark.Thompson
    Mark.Thompson Rank 6 - Analytics Lead

    More information: The file that is apparently locked, as noted in the error message above, is c:\{mwhome}\user_projects\domains\bifoundation_domain\config\fmsconfig\biee-config.lock.

    But it is the very act of clicking 'Activate Changes' that creates that file.  So it appears that the process that is complaining about the file lock is the very process that created the file lock to begin with.

  • FTisiot
    FTisiot Rank 6 - Analytics Lead

    Have you tried releasing the lock?

  • Mark.Thompson
    Mark.Thompson Rank 6 - Analytics Lead

    How do I do that?  I tried deleting the file, but it is (of course) locked by the bi_server1 process, so I can't delete it.

    Is there a command to release the lock?

  • FTisiot
    FTisiot Rank 6 - Analytics Lead

    2017-06-22_16-20-23.png

    I would try:

    1) Release Configuration

    2) a server restart. The old RPD should still be there if you didn't manually deleted it

  • Mark.Thompson
    Mark.Thompson Rank 6 - Analytics Lead

    Yup, I did all of that.  Many times.  After the failure, I released the configuration, restarted the machine.  Everything restarts just fine with the old RPD, as you noted it should.

    But then attempting to deploy a new RPD throws the same error.  It won't update nqsconfig.ini.

    I must have tried this a dozen times.  Whatever is wrong, at least it is consistent.

  • FTisiot
    FTisiot Rank 6 - Analytics Lead


    is the biee-config.lock; file still there after the restart? If so can you try deleting it before uploading the RPD?

  • Mark.Thompson
    Mark.Thompson Rank 6 - Analytics Lead

    Yup, tried that too.  I can manually delete it if it is there, and I have done so.  I have even deleted it after clicking 'Apply' and just prior to clicking 'Activate Changes'.  The click on 'Activate Changes' then creates it, and two minutes later, after fussing about "the file is locked" it throws the error.

  • Sherry George
    Sherry George Rank 7 - Analytics Coach

    Just adding this here as it has same error messages and OBIEE version. Oracle Support Bug 18109473 (INSTALL FAILS WHEN DISTRIBUTING REPOSITORY AS CANNOT OBTAIN BIEE-CONFIG.LOCK)

  • Mark.Thompson
    Mark.Thompson Rank 6 - Analytics Lead

    Thank you, Sherry.

    2 - Severe Loss of Service11.1.1.7.0
    84 - Closed, not feasible to fix

    Status = Closed, not feasible to fix.  "It doesn't work, we know it doesn't work, and we don't intend to fix it."  Nice.