Return-Path: Delivered-To: apmail-db-derby-dev-archive@www.apache.org Received: (qmail 44320 invoked from network); 14 Oct 2007 19:48:42 -0000 Received: from hermes.apache.org (HELO mail.apache.org) (140.211.11.2) by minotaur.apache.org with SMTP; 14 Oct 2007 19:48:42 -0000 Received: (qmail 28965 invoked by uid 500); 14 Oct 2007 19:48:29 -0000 Delivered-To: apmail-db-derby-dev-archive@db.apache.org Received: (qmail 28919 invoked by uid 500); 14 Oct 2007 19:48:29 -0000 Mailing-List: contact derby-dev-help@db.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: Delivered-To: mailing list derby-dev@db.apache.org Received: (qmail 28910 invoked by uid 99); 14 Oct 2007 19:48:29 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Oct 2007 12:48:29 -0700 X-ASF-Spam-Status: No, hits=-100.0 required=10.0 tests=ALL_TRUSTED X-Spam-Check-By: apache.org Received: from [140.211.11.4] (HELO brutus.apache.org) (140.211.11.4) by apache.org (qpsmtpd/0.29) with ESMTP; Sun, 14 Oct 2007 19:48:41 +0000 Received: from brutus (localhost [127.0.0.1]) by brutus.apache.org (Postfix) with ESMTP id D9D7C714187 for ; Sun, 14 Oct 2007 12:47:50 -0700 (PDT) Message-ID: <6594302.1192391270873.JavaMail.jira@brutus> Date: Sun, 14 Oct 2007 12:47:50 -0700 (PDT) From: "Knut Anders Hatlen (JIRA)" To: derby-dev@db.apache.org Subject: [jira] Commented: (DERBY-177) Unnecessary waiting within EmbedDatabaseMetaData.getIndexInfo() In-Reply-To: <285758422.1111578870949.JavaMail.jira@ajax.apache.org> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-Virus-Checked: Checked by ClamAV on apache.org [ https://issues.apache.org/jira/browse/DERBY-177?page=3Dcom.atlassian.= jira.plugin.system.issuetabpanels:comment-tabpanel#action_12534661 ]=20 Knut Anders Hatlen commented on DERBY-177: ------------------------------------------ Related issue (and repro) mentioned on derby-user: http://mail-archives.apache.org/mod_mbox/db-derby-user/200710.mbox/%3c042D2= B87F53441B4A0FFE34A14B0C448@Laptop%3e > Unnecessary waiting within EmbedDatabaseMetaData.getIndexInfo() > --------------------------------------------------------------- > > Key: DERBY-177 > URL: https://issues.apache.org/jira/browse/DERBY-177 > Project: Derby > Issue Type: Bug > Components: Store > Affects Versions: 10.0.2.2 > Environment: Windows XP, JDK 1.4.2_07, derby embedded server > Reporter: J=C3=B6rg von Frantzius > Attachments: tablelock.diff, testhang.diff > > > When setting up a new schema (creating tables, constraints and indexes), = using a JDO implementation's autocreate feature (JPOX JDO), the application= hangs for 20 seconds in a call to EmbedDatabaseMetaData.getIndexInfo(). Th= e stacktrace is: > Thread [main] (Suspended) > =09Object.wait(long) line: not available [native method] > =09ActiveLock.waitForGrant(int) line: not available > =09LockSet.lockObject(Object, Lockable, Object, int, Latch) line: not ava= ilable > =09SinglePool.zeroDurationlockObject(Object, Lockable, Object, int) line:= not available > =09RowLockingRR(RowLocking3).zeroDurationLockRecordForWrite(Transaction, = RecordHandle, boolean, boolean) line: not available > =09HeapController.lockRow(RecordHandle, int, boolean, int) line: not avai= lable > =09HeapController.lockRow(RowLocation, int, boolean, int) line: not avail= able > =09B2IRowLocking3.lockRowOnPage(BTree, LeafControlRow, LeafControlRow, in= t, boolean, FetchDescriptor, DataValueDescriptor[], RowLocation, int, int) = line: not available > =09B2IRowLocking3.lockNonScanPreviousRow(BTree, LeafControlRow, int, Fetc= hDescriptor, DataValueDescriptor[], RowLocation, OpenBTree, int, int) line:= not available > =09B2IController(BTreeController).doIns(DataValueDescriptor[]) line: not = available > =09B2IController(BTreeController).insert(DataValueDescriptor[]) line: not= available > =09B2IController.insert(DataValueDescriptor[]) line: not available > =09TabInfoImpl.insertRowListImpl(RowList, TransactionController, RowLocat= ion[], boolean) line: not available > =09TabInfoImpl.insertRow(ExecRow, TransactionController, boolean) line: n= ot available > =09DataDictionaryImpl.addDescriptorNow(TupleDescriptor, TupleDescriptor, = int, boolean, TransactionController, boolean) line: not available > =09DataDictionaryImpl.addSPSParams(SPSDescriptor, TransactionController, = boolean) line: not available > =09DataDictionaryImpl.updateSPS(SPSDescriptor, TransactionController, boo= lean, boolean, boolean, boolean) line: not available > =09SPSDescriptor.updateSYSSTATEMENTS(LanguageConnectionContext, int, Tran= sactionController) line: not available > =09SPSDescriptor.getPreparedStatement(boolean) line: not available > =09SPSDescriptor.getPreparedStatement() line: not available > =09ExecSPSNode.generate(ByteArray) line: not available > =09GenericStatement.prepMinion(LanguageConnectionContext, boolean, Object= [], SchemaDescriptor, boolean) line: not available > =09GenericStatement.prepare(LanguageConnectionContext) line: not availabl= e > =09GenericLanguageConnectionContext.prepareInternalStatement(String) line= : not available > =09EmbedPreparedStatement30(EmbedPreparedStatement).(EmbedConnectio= n, String, boolean, int, int, int, int, int[], String[]) line: not availabl= e > =09EmbedPreparedStatement30(EmbedPreparedStatement20).(EmbedConnect= ion, String, boolean, int, int, int, int, int[], String[]) line: not availa= ble > =09EmbedPreparedStatement30.(EmbedConnection, String, boolean, int,= int, int, int, int[], String[]) line: not available > =09Driver30.newEmbedPreparedStatement(EmbedConnection, String, boolean, i= nt, int, int, int, int[], String[]) line: not available > =09EmbedConnection30(EmbedConnection).prepareMetaDataStatement(String) li= ne: not available > =09EmbedDatabaseMetaData.prepareSPS(String, String) line: not available > =09EmbedDatabaseMetaData.getPreparedQuery(String) line: not available > =09EmbedDatabaseMetaData.getIndexInfo(String, String, String, boolean, bo= olean) line: not available > [###### entry into Derby code ##########] > =09CloudscapeAdapter(DatabaseAdapter).getExistingIndexes(Connection, Data= baseMetaData, String, String, String) line: 1257 > =09ClassTable(TableImpl).getExistingCandidateKeys(Connection) line: 839 > =09ClassTable(TableImpl).validateCandidateKeys(Connection, boolean) line:= 463 > =09ClassTable(TableImpl).validateConstraints(Connection, boolean) line: 2= 93 > =09RDBMSManager$ClassAdder.addClassTablesAndValidate(String[], ClassLoade= rResolver) line: 2546 > =09RDBMSManager$ClassAdder.execute(Connection, ClassLoaderResolver) line:= 2108 > =09RDBMSManager$ClassAdder(RDBMSManager$MgmtTransaction).execute(ClassLoa= derResolver) line: 1977 > =09RDBMSManager.addClasses(String[]) line: 469 > =09RDBMSManager.addClass(String) line: 481 > =09RDBMSManager(StoreManager).initialiseAutoStart() line: 333 > =09RDBMSManager.initialiseSchema(String, String, String, Connection) line= : 379 > =09RDBMSManager.(ClassLoaderResolver, AbstractPersistenceManagerFac= tory, String, String) line: 243 > =09RDBMSManagerFactory.getStoreManager(ClassLoaderResolver, AbstractPersi= stenceManagerFactory, String, String) line: 59 > =09PersistenceManagerImpl(AbstractPersistenceManager).(AbstractPers= istenceManagerFactory, String, String) line: 179 > =09PersistenceManagerImpl.(AbstractPersistenceManagerFactory, Strin= g, String) line: 34 > =09PersistenceManagerFactoryImpl.getPersistenceManager(String, String) li= ne: 606 > =09PersistenceManagerFactoryImpl.getPersistenceManager() line: 582 > =09ManagedObjectManager.getJdoPm() line: 536 > =09DefaultLeihnehmerTypManager(ManagedObjectManager).queryAll() line: 425 > =09DefaultLeihnehmerTypManager(ManagedObjectManager).getAll() line: 402 > =09PictitImporter.importContents(EList) line: 91 > =09PictitImporter.run(Object) line: 651 > =09PlatformActivator$1.run(Object) line: 228 > =09EclipseStarter.run(Object) line: 333 > =09EclipseStarter.run(String[], Runnable) line: 150 > =09NativeMethodAccessorImpl.invoke0(Method, Object, Object[]) line: not a= vailable [native method] > =09NativeMethodAccessorImpl.invoke(Object, Object[]) line: 39 > =09DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25 > =09Method.invoke(Object, Object[]) line: 324 > =09Main.invokeFramework(String[], URL[]) line: 268 > =09Main.basicRun(String[]) line: 260 > =09Main.run(String[]) line: 887 > =09Main.main(String[]) line: 871 --=20 This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online.