Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cleanup Transactions and extra files #18

Closed
zloster opened this issue Apr 3, 2017 · 5 comments
Closed

Cleanup Transactions and extra files #18

zloster opened this issue Apr 3, 2017 · 5 comments

Comments

@zloster
Copy link
Owner

zloster commented Apr 3, 2017

Review again the rules about the transactions and the update test: https://github.com/zloster/FrameworkBenchmarks/blob/dw8-jdbi/frameworks/Java/dropwizard/src/main/java/com/example/helloworld/db/jdbi/WorldRepository.java#L46-L61 - I think this is forbidden by the rules - to have one big transaction around the reading and updating the values.

After this cleanup: https://github.com/zloster/FrameworkBenchmarks/blob/dw8-jdbi/frameworks/Java/dropwizard/src/main/java/com/example/helloworld/db/jdbi/WorldJDBIImpl.java

@zloster zloster added this to the Dropwizard JDBI implementation milestone Apr 3, 2017
@zloster
Copy link
Owner Author

zloster commented Apr 21, 2017

The rules for the updates:
http://frameworkbenchmarks.readthedocs.io/en/latest/Project-Information/Framework-Tests/#database-updates
Number 10
So the transaction have to be inside the for loop.

@zloster
Copy link
Owner Author

zloster commented Jun 19, 2017

Some cleaning later a new branch is ready. Currently local testing.

@zloster
Copy link
Owner Author

zloster commented Jun 20, 2017

The new branch is jdbi. There were issues and clean merge with the current master was not possible.
Local testing OK.

There are some possibilities for clean up and so on but they will wait for better times.

@zloster zloster closed this as completed Jun 20, 2017
@zloster
Copy link
Owner Author

zloster commented Jun 20, 2017

There were some problems with the manual diff and the transition to new branch. And I haven't checked the results. So reopening. The local tests are currently running

@zloster zloster reopened this Jun 20, 2017
@zloster
Copy link
Owner Author

zloster commented Jun 20, 2017

The custom results viewer is here:
https://www.techempower.com/benchmarks/#section=test

Paste the results.json and adjust the duration or use EtherCalc online spreadsheet.

The results show significant problem with the update test which currently is using transactions.

fortune									
servlet-postgres-raw	66142	8.53ms	dropwizard-postgres	26243	20.99ms	dropwizard-jdbi-postgres	34881	16.31ms	
	71664	12.82ms		28929	37.51ms		38467	28.29ms	
	73704	19.14ms		29933	66.68ms		39741	50.99ms	
	71163	33.04ms		32256	111.98ms		40092	88.17ms	
	71108	60.49ms		32157	205.59ms		40056	149.99ms	
	69606	118.45ms		32436	354.60ms		39953	293.69ms	
									
db									
	69418	8.04ms		21491	24.52ms		24660	22.16ms	
	73203	12.91ms		24899	42.94ms		28734	37.94ms	
	80099	17.76ms		27682	72.90ms		30290	66.76ms	
	79248	28.87ms		30182	120.81ms		30095	116.85ms	
	83331	48.81ms		32362	194.40ms		30860	192.41ms	
	79700	103.57ms		33781	349.57ms		34089	296.62ms	
									
update									
	46858	178.01ms		37762	303.41ms		21300	491.91ms	
	15694	622.12ms		18844	584.97ms		7374	1.67s	Timeouts
	8596	1.30s		11642	975.35ms		4248	3.03s	Timeouts
	6086	2.00s		8280	1.44s		2960	4.63s	Timeouts
	4368	3.11s		6535	1.85s		2291	5.73s	Timeouts
									
query	82448	99.25ms		33577	357.36ms		35464	304.12ms	
	34577	259.74ms		17271	693.30ms		17855	636.95ms	
	20397	459.43ms		11273	1.04s		10652	1.12s	
	14138	721.76ms		8381	1.50s		7867	1.62s	
	11360	922.97ms		6648	1.89s		5907	2.33s	

@zloster zloster closed this as completed Jun 20, 2017
zloster pushed a commit that referenced this issue Oct 2, 2018
Here's an example of the error output from before this change:

Unhandled exception:
Bad state: Stream was already listened to
#0      _RawServerSocket.listen (dart:io-patch/socket_patch.dart:1106)
#1      new _ForwardingStreamSubscription (dart:async/stream_pipe.dart:123)
#2      _ForwardingStream._createSubscription (dart:async/stream_pipe.dart:91)
#3      _ForwardingStream.listen (dart:async/stream_pipe.dart:86)
#4      _ServerSocket.listen (dart:io-patch/socket_patch.dart:1351)
#5      _HttpServer.listen (dart:io/http_impl.dart:2278)
#6      _startServer.<anonymous closure> (file:///server.dart:88:12)
#7      _RootZone.runUnary (dart:async/zone.dart:1371)
#8      _FutureListener.handleValue (dart:async/future_impl.dart:129)
#9      _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
#10     _Future._propagateToListeners (dart:async/future_impl.dart:665)
#11     _Future._completeWithValue (dart:async/future_impl.dart:478)
#12     Future.wait.<anonymous closure> (dart:async/future.dart:362)
#13     _RootZone.runUnary (dart:async/zone.dart:1371)
#14     _FutureListener.handleValue (dart:async/future_impl.dart:129)
#15     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
#16     _Future._propagateToListeners (dart:async/future_impl.dart:665)
#17     _Future._completeWithValue (dart:async/future_impl.dart:478)
#18     Future.wait.<anonymous closure> (dart:async/future.dart:362)
#19     _RootZone.runUnary (dart:async/zone.dart:1371)
#20     _FutureListener.handleValue (dart:async/future_impl.dart:129)
#21     _Future._propagateToListeners.handleValueCallback (dart:async/future_impl.dart:636)
#22     _Future._propagateToListeners (dart:async/future_impl.dart:665)
#23     _Future._completeWithValue (dart:async/future_impl.dart:478)
#24     _Future._asyncComplete.<anonymous closure> (dart:async/future_impl.dart:510)
#25     _microtaskLoop (dart:async/schedule_microtask.dart:41)
#26     _startMicrotaskLoop (dart:async/schedule_microtask.dart:50)
#27     _runPendingImmediateCallback (dart:isolate-patch/isolate_patch.dart:99)
#28     _RawReceivePortImpl._handleMessage (dart:isolate-patch/isolate_patch.dart:152)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant