A LOT of folks bought in the first hour. Far more than I expected.
Stripe (our credit card processor) held up under the strain.
PayPal single payment processing held up under the strain.
Our PayPal subscriptions option, which got hit the heaviest, broke.
Payments went through, but so many sub setups were hitting at the same time that that the process of adding folks into the classroom went CLUNK.
Dan is fixing this now so that it will go back to being automatic, and making it more robust.
MEANWHILE, Rebecca and I are manually adding all folks with subs into the classroom.
So if you buy via subscription, until Dan gets this fixed, you won’t be starting your first lesson in five minutes, but we’re getting PRETTY close to clearing all the folks who’ve already purchased, and doing this manually, we’ll stick as close to that as we can manage.
And this is what happens during launches. You test everything you can test, and then the thing you CAN’T test — massive traffic — is what hits you on the head with a brick.
S’okay. We’ll get through this.
I am very sorry to you and to Holly for the inconvenience this problem caused. I hate when problems happen. It is bad for everyone. I am determined to keep significant system problems out of our future.
Here is how the bug worked. When setting up How To Write A Novel in the system to make it available for sale, two leading spaces were saved in one of the fields in the system. Instead of saving “How to Write a Novel”, we had ” How to Write a Novel”. Normally, that would not be a problem, but in this case, we run a process called “serialize” on the data. Leading spaces are normally no problem in serializing, but in this case, the spaces were not plain spaces like the ones produced by the space bar. These were strange spaces produced by one of the pieces of software we used to put Holly’s system together. That software inserts the spaces to avoid certain problems, but in this case, the extra spaces caused a problem. These spaces are from the utf-8 character set, which has become standard, but introduces complications like this one. Here is the complication: the “serialize” function does not work if the data contains “multibyte” spaces as the evidently were.
The symptoms were impossible to miss Our process for setting people up when they have signed up for a class was breaking at the point where it was trying to use data it expected to have been serialized.
This problem took me a while to isolate. I fixed it by replacing using the data without serializing it. In case you are wondering, serialization is a way of converting a set of multiple data fields into one field. It is like taking the fields for your name and address and saving them like this: “field1name=firstname;field1value=Dan;field2name=lastname;field2value=Allen;” etc. No matter how many fields, if you put them into that format, then put quotation marks at the beginning and end, then all those fields can be stored together in one field in the system. Then to use that data, you have to unserialize it.
The multibyte spaces did two things.
First, when serializing data related to your signing up, only some of the fields were included. When the serialized function encounters multibyte characters, it stops.
Second, when running “unserialize,” the program would stop running.
The program where this happened is the one that handles notices from PayPal letting Holly know you paid. We can see the records created in this process, but we cannot exactly watch these programs run.
If you want to know more or have any questions, comments, suggestions, etc, please do not hesitate to let me know.
Thanks for the update and for adding me to the class. I have the class now, but (in case you didn’t already know about time issue) the forums aren’t letting me in, (says I’m not authorized) though I can see the subject lines of posts going up.