Comments (10)
@nakedsushi
Thank you for your comment. I could not reproduce it.
Does your MT use 3rd party's plugin or addon? If so, please disable them and check again.
from movabletype.
@miniuchi that's the tricky part. It's not a consistent behavior. Normally, it does not show up, but whenever I use the Data API to create a lot of entries at once (serially), after a while, creating the entries silently fail (entry is created but with blank body and title) and listing the entries shows this bug. After an undetermined amount of time, everything goes back to normal and the bug disappears.
I'm running the Amazon MT7 AMI with default settings (connected to MariaDB), memcached disabled. I wonder if there's some sort of caching going on in the perl module or a fallback when the server is overloaded.
No other plugins or addons installed.
from movabletype.
More clues. I wonder if it's the way starman is set up? When the bug starts happening, if I restart starman with systemctl restart movabletype.service
then it goes away -- until the next time I insert a bunch of entries via the API.
[update]: Can confirm this is effected by how starman starts up. When I change the max-requests=1000
the bug shows up less frequently and if it does show up, more requests are processed before the bug shows up. Changing it from 100 to 10 will almost immediately cause the bug to show up when I start my import using the Data API. I'm not at all knowledgeable about how starman restarts workers, but I wonder if when the worker restarts after processing the max number of requests, it's failing to load everything into movable type. So a request to the Data API sometimes will hit one worker that is valid, and sometimes hit the other (recently restarted) worker with an buggy version of MT.
from movabletype.
@nakedsushi
Thank you. I will investigate it again on the AMI.
from movabletype.
@nakedsushi
I couldn't reproduce it on AMI... Could you give me more detail procedure to reproduce it if possible?
from movabletype.
Steps to reproduce:
- Set up
/data/conf/movabletype.conf
like this:
WORKER=2
MAXREQUESTS=10
-
Restart the movabletype service with
systemctl restart movabletype.service
-
Create a script to post 1000 new entries to the DataAPI entry endpoint here:
https://www.movabletype.jp/developers/data-api/v3-reference.html#entries
-
Run the script so that it does the POST requests serially.
-
BUG: some of the entries are correctly created, others have blank titles and bodies.
-
BUG: after the bug above happens, try listing the entries with the list entries endpoint:
../mt/mt-data-api.cgi/v3/sites/SITE_ID/entries
sometimes all the fields for the entries are returned and sometimes they are blank.
from movabletype.
@nakedsushi
Thank you.
I tried to reproduce it with the following script and MT7 nginx AMI (t2.medium), but couldn't.
https://gist.github.com/miniuchi/3551252947985fd6dc4c5baecc306df5
I wrote this script with reference to #369 (comment).
Am I misunderstanding your procedure?
from movabletype.
@miniuchi You're right, I can't reproduce it now either on my AMI with your script. I'll try it again when I get back into work with my full script and see what the difference is. Thanks for working on this!
from movabletype.
Update: I haven't been able to consistently reproduce it with my own script. Sometimes it happens, sometimes it doesn't and setting the number of MAXREQUEST to something low like 10 sometimes works and doesn't. I'll play around with it some more and see if I can get more consistency with it.
from movabletype.
@nakedsushi
Thank you for your investigation!
from movabletype.
Related Issues (20)
- CGI Won't Run on Ubuntu Server HOT 3
- Large ifs break entry saving (edit_entry.tmpl)
- After upgrade 4605 to 4607, a lot of search errors in Nginx logs. HOT 2
- Logging with log4perl emits warning Wide character in print HOT 1
- Permalink broken when both 'folder' and 'basename' are set in API Page creation HOT 7
- Page Folders don't load HOT 2
- Data API v3: POST /users, user can't sign in HOT 3
- DataAPI responses can't be cached HOT 3
- Error: Saving Entry failed: Undefined subroutine &Trackback::Entry::extract_domains called HOT 2
- GPL version HOT 1
- Plugin development opbject_types author HOT 3
- mtapp:setting dynamic parameters fail HOT 3
- Has to Reset Password to Login HOT 2
- How to use build_file callback HOT 5
- Template Tags for Asset and Entry Counts.
- Need for greater flexibility of URL handling in templates
- Upgrade to 7.1.1 does not handle UTF8 strings correctly HOT 1
- Indicees on VARCHAR(255) break if charset "utf8mb4" is used with MariaDB HOT 1
- Sites and Entries under the menu won't show any items HOT 2
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 movabletype.