Hi Martin,Thanks for the pointer and explanation. Hopefully the last time this is an issue. :-)
1. The commits in question were done apparently Jan 17 at 0735 hours. Isn't this after the plugin was restarted?
2. Is there any way to point JIRA at the svn log and give it a time range to index? I'd hate to think that there's all that missing history and no way to recover it.
Craig On Jan 18, 2008, at 12:44 PM, Martin Sebor wrote:
Craig L Russell wrote:Can someone in infra take a look at why the JIRA is not getting updated with the svn commit data?This issue should explain it: http://issues.apache.org/jira/browse/INFRA-1466 I've already reactivated the plugin once since Jeff's comment on the 16th. MartinThanks, Craig Begin forwarded message:From: Kevin Sutter <[EMAIL PROTECTED]> Date: January 18, 2008 7:13:13 AM PST To: [EMAIL PROTECTED]Subject: Re: svn commit: r612846 - in /openjpa: branches/1.0.x/ openjpa-kernel/src/main/java/org/apache/openjpa/kernel/ AbstractBrokerFactory.java trunk/openjpa-kernel/src/main/java/org/ apache/openjpa/kernel/AbstractBrokerFactory.javaReply-To: [email protected] Hi,Is there a problem with getting the SVN commits into the JIRA issues? I thought I had noticed this problem a week or so ago, but then forgot to follow up. I am now noticing it again with my latest commit. I committed these changes early yesterday morning and they are still not attached to the JIRA reports. I thought waiting 24 hours would be sufficient... Any ideas?Kevin On Jan 17, 2008 9:35 AM, <[EMAIL PROTECTED]> wrote:Author: kwsutter Date: Thu Jan 17 07:35:45 2008 New Revision: 612846 URL: http://svn.apache.org/viewvc?rev=612846&view=rev Log:OPENJPA-437. Changed AbstractBrokerFactory.loadPersistentTypes to be synchronized to get around the multi-threading issue during broker creation.Also, migrated the change for OPENJPA-449 from trunk to the 1.0.x branch.Modified:openjpa/branches/1.0.x/openjpa-kernel/src/main/java/org/apache/ openjpa/kernel/AbstractBrokerFactory.javaopenjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ kernel/AbstractBrokerFactory.javaModified:openjpa/branches/1.0.x/openjpa-kernel/src/main/java/org/apache/ openjpa/kernel/AbstractBrokerFactory.javaURL: http://svn.apache.org/viewvc/openjpa/branches/1.0.x/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java?rev=612846&r1=612845&r2=612846&view=diff= = = = = = = = = = = ===================================================================---openjpa/branches/1.0.x/openjpa-kernel/src/main/java/org/apache/ openjpa/kernel/AbstractBrokerFactory.java(original) +++openjpa/branches/1.0.x/openjpa-kernel/src/main/java/org/apache/ openjpa/kernel/AbstractBrokerFactory.javaThu Jan 17 07:35:45 2008 @@ -133,6 +133,7 @@ */ protected AbstractBrokerFactory(OpenJPAConfiguration config) { _conf = config;+ _pcClassLoaders = new ReferenceHashSet(ReferenceHashSet.WEAK);} /** @@ -231,8 +232,13 @@ /** * Load the configured persistent classes list. Performed automatically * whenever a broker is created. + *+ * This method is synchronized due to the possible creation of newbrokers+ * (entity managers) by multiple threads (clients). The two datastructures+ * used by this method (_pcClassNames and _pcClassLoaders) are notthread+ * safe and this was an easy, efficient solution (OPENJPA-437).*/ - private void loadPersistentTypes(ClassLoader envLoader) {+ private synchronized void loadPersistentTypes(ClassLoader envLoader){ // no listed persistent types? if (_pcClassNames != null && _pcClassNames.isEmpty()) return; @@ -245,7 +251,7 @@ Collection clss = _conf.getMetaDataRepositoryInstance(). loadPersistentTypes(false, loader); if (clss.isEmpty()) - _pcClassNames = Collections.EMPTY_SET; + _pcClassNames = Collections.EMPTY_LIST; else { _pcClassNames = new ArrayList(clss.size());for (Iterator itr = clss.iterator(); itr.hasNext();) {@@ -254,7 +260,6 @@ if (needsSub(cls)) toRedefine.add(cls); } - _pcClassLoaders = new ReferenceHashSet( ReferenceHashSet.WEAK); _pcClassLoaders.add(loader); } } else { Modified:openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ kernel/AbstractBrokerFactory.javaURL: http://svn.apache.org/viewvc/openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/kernel/AbstractBrokerFactory.java?rev=612846&r1=612845&r2=612846&view=diff= = = = = = = = = = = ===================================================================---openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ kernel/AbstractBrokerFactory.java(original) +++openjpa/trunk/openjpa-kernel/src/main/java/org/apache/openjpa/ kernel/AbstractBrokerFactory.javaThu Jan 17 07:35:45 2008 @@ -256,8 +256,13 @@ /** * Load the configured persistent classes list. Performed automatically * whenever a broker is created. + *+ * This method is synchronized due to the possible creation of newbrokers+ * (entity managers) by multiple threads (clients). The two datastructures+ * used by this method (_pcClassNames and _pcClassLoaders) are notthread+ * safe and this was an easy, efficient solution (OPENJPA-437).*/ - private void loadPersistentTypes(ClassLoader envLoader) {+ private synchronized void loadPersistentTypes(ClassLoader envLoader){ // no listed persistent types? if (_pcClassNames != null && _pcClassNames.isEmpty()) return; @@ -270,7 +275,7 @@ Collection clss = _conf.getMetaDataRepositoryInstance(). loadPersistentTypes(false, loader); if (clss.isEmpty()) - _pcClassNames = Collections.EMPTY_SET; + _pcClassNames = Collections.EMPTY_LIST; else { _pcClassNames = new ArrayList(clss.size());for (Iterator itr = clss.iterator(); itr.hasNext();) {Craig RussellArchitect, Sun Java Enterprise System http://java.sun.com/products/ jdo408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
Craig Russell Architect, Sun Java Enterprise System http://java.sun.com/products/jdo 408 276-5638 mailto:[EMAIL PROTECTED] P.S. A good JDO? O, Gasp!
smime.p7s
Description: S/MIME cryptographic signature
