Community
Participate
Working Groups
I came over an issue today. I am trying to set up some performance measurements to compare the different CDO stores. To set up a model with 10.000 Objects, this is what I do: private Company initModel() throws CommitException { msg("Initializing model ..."); CDOSession session = openSession(); CDOTransaction transaction = session.openTransaction(); CDOResource resource = transaction.createResource(getResourcePath("res")); Company company = getModel1Factory().createCompany(); resource.getContents().add(company); for (int i = 0; i < AMOUNT_ELEMENTS; i++) { Category cat = getModel1Factory().createCategory(); cat.setName(Integer.toString(i)); company.getCategories().add(cat); } System.out.println("Final Commit..."); transaction.commit(); System.out.println("Done."); return company; } What happens is that I get a timeout during the commit, because the commit runs longer than 10 seconds.
Created attachment 209913 [details] simplistic-patch Hi Martin, as discussed via E-Mail I am attaching this patch (should be applicable to the workspace root via Team...>Apply Patch) to prevent the timeout. Please note that it might be even better to have a more fine-grained monitoring of the single steps and use single forkAsync() calls only in those places in which you call actual hibernate API. The benefit of this is a more fine-grained progress reporting in the client (you can show an actual ProgressMonitor in client UIs for commit operations).
Pushed a solution to the git repository, will be in the next build.
Closing.