This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.
If two independant instances of NBMDRepositoryImpl create an extend with instanciating MOF an exception occurrs (only with memory storage - with btree storage it works): HashMap args; // First Repository args = new HashMap(); args.put ("storage", "org.netbeans.mdr.persistence.memoryimpl.StorageFactoryImpl"); args.put(BtreeFactory.STORAGE_FILE_NAME, "first"); MDRepository repository1 = new NBMDRepositoryImpl(_args); // Second Repository args = new HashMap(); args.put ("storage", "org.netbeans.mdr.persistence.memoryimpl.StorageFactoryImpl"); args.put(BtreeFactory.STORAGE_FILE_NAME, "second"); MDRepository repository2 = new NBMDRepositoryImpl(_args); // Creating extends in both repositories repository1.createExtent("foo"); repository2.createExtent("bar"); Results in: java.lang.RuntimeException at org.netbeans.mdr.persistence.memoryimpl.MultivaluedIndexImpl$MOWrapper.get (MultivaluedIndexImpl.java:313) at java.util.AbstractList$Itr.next(AbstractList.java:421) at java.util.AbstractCollection.toArray(AbstractCollection.java:174) at org.netbeans.mdr.storagemodel.IndexImmutSet.toArray (IndexImmutSet.java:97) at java.util.ArrayList.<init>(ArrayList.java:136) at org.netbeans.jmiimpl.mof.model.GeneralizableElementImpl.extendedNamespace (GeneralizableElementImpl.java:39) at org.netbeans.jmiimpl.mof.model.GeneralizableElementImpl.lookupElementExtended (GeneralizableElementImpl.java:99) at org.netbeans.lib.jmi.xmi.XmiContext.resolveElementName (XmiContext.java:570) at org.netbeans.lib.jmi.xmi.XmiElement$Content.startSubElement (XmiElement.java:354) at org.netbeans.lib.jmi.xmi.XmiSAXReader.startElement (XmiSAXReader.java:219) at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1637) at org.apache.crimson.parser.Parser2.content(Parser2.java:1926) at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654) at org.apache.crimson.parser.Parser2.content(Parser2.java:1926) at org.apache.crimson.parser.Parser2.maybeElement(Parser2.java:1654) at org.apache.crimson.parser.Parser2.parseInternal(Parser2.java:634) at org.apache.crimson.parser.Parser2.parse(Parser2.java:333) at org.apache.crimson.parser.XMLReaderImpl.parse(XMLReaderImpl.java:448) at javax.xml.parsers.SAXParser.parse(SAXParser.java:345) at org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:136) at org.netbeans.lib.jmi.xmi.XmiSAXReader.read(XmiSAXReader.java:107) at org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read (XMISaxReaderImpl.java:58) at org.netbeans.lib.jmi.xmi.XMISaxReaderImpl.read (XMISaxReaderImpl.java:51) at org.netbeans.mdr.NBMDRepositoryImpl.installPureMof (NBMDRepositoryImpl.java:1346) at org.netbeans.mdr.NBMDRepositoryImpl.boot (NBMDRepositoryImpl.java:1316) at org.netbeans.mdr.NBMDRepositoryImpl.initCheck (NBMDRepositoryImpl.java:749) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:445) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:287) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:275) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:264) ... [org.netbeans.mdr.Logger] INFORMATIONAL *********** Exception occurred ************ at Wed Jun 22 14:05:39 CEST 2005 org.netbeans.mdr.util.DebugException: Boot failed. at org.netbeans.mdr.NBMDRepositoryImpl.installPureMof (NBMDRepositoryImpl.java:1349) at org.netbeans.mdr.NBMDRepositoryImpl.boot (NBMDRepositoryImpl.java:1316) at org.netbeans.mdr.NBMDRepositoryImpl.initCheck (NBMDRepositoryImpl.java:749) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:445) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:287) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:275) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:264) ... ANNOTATIONS: [null] Exception occurred: org.netbeans.mdr.util.DebugException: Missing storage files or different storage version. at org.netbeans.mdr.storagemodel.MdrStorage.initializeIndexes (MdrStorage.java:507) at org.netbeans.mdr.storagemodel.MdrStorage.rollback (MdrStorage.java:554) at org.netbeans.mdr.util.TransactionMutex.end(TransactionMutex.java:73) at org.netbeans.mdr.util.MultipleReadersMutex.leave (MultipleReadersMutex.java:173) at org.netbeans.mdr.NBMDRepositoryImpl.endTrans (NBMDRepositoryImpl.java:248) at org.netbeans.mdr.NBMDRepositoryImpl.boot (NBMDRepositoryImpl.java:1322) at org.netbeans.mdr.NBMDRepositoryImpl.initCheck (NBMDRepositoryImpl.java:749) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:445) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:287) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:275) at org.netbeans.mdr.NBMDRepositoryImpl.createExtent (NBMDRepositoryImpl.java:264) ...
I've looked at the code and it seems it should work when you set a different STORAGE_ID for these different repositories. The storage ID serves as the prefix of MOF IDs generated by the storage. To set them, replace BtreeFactory.STORAGE_FILE_NAME with StorageFactoryImpl.STORAGE_ID in your code. Please reopen this issue if it does not work and provide the log as an attachment.