Comments (6)
I don't think it's the root of the problem, but could you update to 1.8 stable and see if you're still hitting this?
I have a feeling it's just that with each write to Bolt, Ponzu runs a sort in a goroutine on the bucket you're impacting and there could be some race issues at the transaction level if too many writes are happening at once.
from ponzu.
If you do a search for SortContent
in the codebase you'll see what I'm referring to. This sorting method isn't an ideal process and should be rethought. But, for the systems I built Ponzu to support the write performance is a very low priority.
I would be happy to find a way to improve this though.
from ponzu.
There is some code pushed to the throttle-sort
(6c34044) branch. If you can test it out, pull it into your master and re-install ponzu by running go install ./...
from inside $GOPATH/src/github.com/ponzu-cms/ponzu
On the very first 'load' command, I am seeing a bug that is preventing the SortContent call from being evoked at the right time. Maybe the HTTP calls to github API can finish sooner than the 4-second waitDuration
before a secondary / throttled call to SortContent can happen? will have to test a shorter waitDuration
value and see.
from ponzu.
I reduced the waitDuration value and it seems to have resolved this issue. I think the loading feature of the gobservatory project is fairly niche so i don't want to over optimize for it, but it would be good to be sure that those HTTP calls are the cause of the bug I caught.
from ponzu.
I'm going to close this up for now, since a fix was merged to master. If you get a chance to try it out and successfully replicate the panic you encountered, let me know and I'll dig in.
Thanks for reporting this!
from ponzu.
I was able to test and confirm that with this fix I am no longer getting the panic under high load.
There is a remaining issue with SortContent being not called after the loading completes, submitted #123 to fix.
from ponzu.
Related Issues (20)
- CLI is not working HOT 14
- Zap v11 was deleted HOT 14
- go module support HOT 9
- search sort HOT 2
- Custom databases HOT 3
- ponzu 0.11.0 fails to build HOT 2
- The "must" search operator in blevesearch can't be passed into ponzu HOT 1
- NOTICE: original author & maintainer is stepping away from the project HOT 7
- how to change to Summernote
- Redis Support for ponzu
- There is three CSRF vulnerability that can add the administrator account, delete administrator account, edit configuration.
- Only latest tag saving
- Error with "go get..." HOT 6
- Current state of Ponzu HOT 1
- Is this project still maintained? HOT 3
- Suggested install method no longer works HOT 2
- Is Ponzu dead? HOT 10
- Potential goroutine leak in achive.go
- How can you develop addons more efficiently?
- How to setup development env
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from ponzu.