• Log in or sign up for an account here: https://www.sythe.org/login

xen dev blog

Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Cleaned up the vb3->xen conversion script somewhat today and automated loading the cluster with fresh data. This takes about 2 hours from fresh vbul data to completed xen data live on the cluster. This will be the minimum downtime window on changeover.

Trying to decide what to do about usernames with weird unicode crap in them. There are about 300 users with more than 20 posts each who are not banned and who have the world's most fucked characters in their usernames. It is possible to import these directly into xen but I'm not sure I really want to. I might end up sending these to a separate table and allowing (forcing) a username change to a visually similar normal username on login. Alternatively I could import them directly and grandfather them in (by disabling unicode usernames for new signups). Haven't decided yet.

Still having a significant problem with xenforo itself on the cluster. After testing, the cluster is working fine, however xen isn't. Logins and password recoveries currently failing (but succeeding with the same code on the non-cluster test server). Obvious culprit is the move from MyISAM to cluster-based InnoDB tables. This is blocking further progress at the moment. It's probably something relatively simple I will figure out tomorrow.
 
xen dev blog
Cleaned up the vb3->xen conversion script somewhat today and automated loading the cluster with fresh data. This takes about 2 hours from fresh vbul data to completed xen data live on the cluster. This will be the minimum downtime window on changeover.

Trying to decide what to do about usernames with weird unicode crap in them. There are about 300 users with more than 20 posts each who are not banned and who have the world's most fucked characters in their usernames. It is possible to import these directly into xen but I'm not sure I really want to. I might end up sending these to a separate table and allowing (forcing) a username change to a visually similar normal username on login. Alternatively I could import them directly and grandfather them in (by disabling unicode usernames for new signups). Haven't decided yet.

Still having a significant problem with xenforo itself on the cluster. After testing, the cluster is working fine, however xen isn't. Logins and password recoveries currently failing (but succeeding with the same code on the non-cluster test server). Obvious culprit is the move from MyISAM to cluster-based InnoDB tables. This is blocking further progress at the moment. It's probably something relatively simple I will figure out tomorrow.

Thanks for working so hard for us, even though I don't understand this CMS mumbo jumbo! Hope you had a good Christmas/planning something for New Years!
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Thanks for working so hard for us, even though I don't understand this CMS mumbo jumbo! Hope you had a good Christmas/planning something for New Years!

Already got way too smashed at Christmas. Downed a slab of tallie cans in a couple of days + whiskey and other drinks. About a week's worth of hangover still wearing off. So, naturally, having a quiet new years.

Also update: I just had the non-cluster test server which is currently working for logins and password resets do a connection off to the cluster rather than its normal db. This reproduced the problems I've been having on the cluster. So it is definitely to do with xen--cluster incompatibility. Looking into it more.
 
xen dev blog
Already got way too smashed at Christmas. Downed a slab of tallie cans in a couple of days + whiskey and other drinks. About a week's worth of hangover still wearing off. So, naturally, having a quiet new years.

Also update: I just had the non-cluster test server which is currently working for logins and password resets do a connection off to the cluster rather than its normal db. This reproduced the problems I've been having on the cluster. So it is definitely to do with xen--cluster incompatibility. Looking into it more.

Glad to hear you've had a great time while you're working out this xf transfer. I'd say keep up your hard work, but you can't no-life any harder :P
 
Sythe Awards 2010 Winner
Sythe Awards 2012 Winner
Christmas 2015
Valentine's Day 2016
Easter 2016
MushyMuncher
Tier 1 Prizebox
xen dev blog
Already got way too smashed at Christmas. Downed a slab of tallie cans in a couple of days + whiskey and other drinks. About a week's worth of hangover still wearing off. So, naturally, having a quiet new years.

cuz if you don't stop drinking the hangover will never come

p.s. happy new year in 2 hours
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Ok update on the login issues with xen loading on cluster:

Traced the problem to an incomplete import of the authentication table. SQL inserts for the authentication table are present in the dump being imported. I'm rerunning the import script by hand to find out what's happening. Possibly we are hitting some sort of cap or limit at that point in the import resulting in an incomplete import. Also possible that there is an SQL syntax incompatibility or similar between the dump and the receiving cluster.
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Good news. Xen cluster login issues have been fixed. It was an import issue and not a xen-cluster incompatibility. Which is very good.

Worryingly the automated import script screwed this up twice. The import script uses the same commands I issue by hand. I am going to add a table row count check for future to ensure the imports are 100% complete. However it seems like it might be worthwhile just running the final import command by hand and keeping an eye on it to make sure it finishes completely.

Now I'll continue testing xen on the cluster and see if we are having any more issues.
 
Detective
Top Striker
Sythe Awards 2015 Winner
Sythe Awards 2014 Winner
Sythe Awards 2013 Winner
Sythe Awards 2011 Winner
Sythe Awards 2010 Winner
Sythe's 10th Anniversary
Heidy
Not sure if srs or just newfag...
xen dev blog
Thanks richard for the work you have put into this site and continue to put in
 
Two Factor Authentication User
Christmas 2015
Easter 2015
Gohan has AIDS
Lawrence
Sythe's 10th Anniversary
Top Striker
xen dev blog
Good news. Xen cluster login issues have been fixed. It was an import issue and not a xen-cluster incompatibility. Which is very good.

Worryingly the automated import script screwed this up twice. The import script uses the same commands I issue by hand. I am going to add a table row count check for future to ensure the imports are 100% complete. However it seems like it might be worthwhile just running the final import command by hand and keeping an eye on it to make sure it finishes completely.

Now I'll continue testing xen on the cluster and see if we are having any more issues.

Yea no idea what the fuck you're saying but thanks for doing it
 
Extreme Homosex
I'm LAAAAAAAME
Lawrence
xen dev blog
Good news. Xen cluster login issues have been fixed. It was an import issue and not a xen-cluster incompatibility. Which is very good.

Worryingly the automated import script screwed this up twice. The import script uses the same commands I issue by hand. I am going to add a table row count check for future to ensure the imports are 100% complete. However it seems like it might be worthwhile just running the final import command by hand and keeping an eye on it to make sure it finishes completely.

Now I'll continue testing xen on the cluster and see if we are having any more issues.

Thank you for the ongoing updates, it's nice to see what is happening in real time. Do you think you are confident enough to make an accurate estimation of when it will be live for users?
 
Valentine's Singing Competition Winner
Sythe Awards 2015 Winner
Sythe Awards 2016 Winner
Sythe Awards 2020 Winner
Member of the Month Winner
MushyMuncher
Gohan has AIDS
Extreme Homosex
World War 3
I'm LAAAAAAAME
Discord Verified
Off Topic Participant
xen dev blog
i'll import your cluster any day of the week baby
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Currently setting up http load balancer for the cluster and moving all development activity to the cluster.
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Load balancer is configured and running.

Moving development stuff to the cluster nodes I realized xen only allows storage of avatars and attachments in the file system. No database storage is supported.

This is a problem for us. Firstly the file system is not designed to have hundreds of thousands of image files just hanging around. It makes searching slow, and it makes replication of the file system slow. Secondly I want to lock down all the nodes' file systems for security. Typically a good practice is to have a static set of files and directories that the site is served from which are owned by another account (dummy supervisor account) which doesn't give write access to the files or directories. The http daemon then runs on another account (service account) and is only permitted to read these files. This way even if an attacker finds an "upload exploit" in say php or the http daemon they will be unable to write to the file system and the exploit will do them no good.

This is part of a strategy called defensive programming ( https://en.wikipedia.org/wiki/Defensive_programming )

Obviously the way xen is configured at the moment it will need write access to the filesystem which I'm not willing to give it, so I will have to find another solution to avatar and attachment storage.
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Digital point (another large forum who uses xen) keeps their avatars and attachments in a database via custom addon but they haven't released their code.

I haven't seen any up-to-date addons to allow for what we need here so I will probably write one myself. It's not very complicated so it shouldn't take more than a day. I'll make a small start tonight (setup the tables etc.) and write the addon proper tomorrow after some sleep.
 
In Memory of Jon
Homosex
Discord Verified
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2018 Winner
Embar
League of Legends Tournament Winner
<3 n4n0
Extreme Homosex
Poképedia
St. Patrick's Day 2013
St. Patrick's Day 2014
St. Patrick's Day 2017
St. Patrick's Day 2018
Gohan has AIDS
Former OMM
I saw Matthew
xen dev blog
Digital point (another large forum who uses xen) keeps their avatars and attachments in a database via custom addon but they haven't released their code.

I haven't seen any up-to-date addons to allow for what we need here so I will probably write one myself. It's not very complicated so it shouldn't take more than a day. I'll make a small start tonight (setup the tables etc.) and write the addon proper tomorrow after some sleep.

Sleep well master.
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Created the attachment & avatar blob database and access script. Writing an import script to load in the existing files now. Will add rewrite rules to redirect avatar and attachment requests to the access script next. The final thing needed is a very small xen addon which changes the upload success function from a move temp-file command to a blob insert. Probably about 3 or 4 lines. Hopefully the cluster doesn't kick up a fuss about storing a few gb worth of blobs. We'll see.
 
Clefairy
Supporting Business
Discord Voice
Jigglypuff
Hell yeah boooi
Poképedia
Who did this to my freakin' car!
Dat Boi
Dolan Duck
Dolan Trump
I'm LAAAAAAAME
Live Free or Die
Mew
Mewtwo
Poké Prizebox
Rust Player
Sythe Awards 2016 Winner
Sythe Awards 2017 Winner
Sythe Awards 2019 Winner
Tier 3 Prizebox
Toast Wallet User
xen dev blog
Here's my blob sql insertion generator for xen data

find data | grep "\." | grep -v "index.html" | awk '{ system("echo INSERT INTO xen_data \\(file_path, file_timestamp, file_mimetype, file_name, file_data\\) VALUES \\(\\\""$0"\\\", `stat -c %Y "$0"`, \\\"`file --mime-type "$0" | cut -d\" \" -f2`\\\", \\\"\\\", LOAD_FILE\\(\\\"`pwd`/"$0"\\\"\\)\\)\\;");}'

Test import of 10 blobs went fine. Now to import 100,000 of them. Fingers crossed.

Edit: just generating the inserts is taking its sweet time. Fuck xen for having a stupid avatar storage system.
 
Sythe Awards 2010 Winner
Sythe Awards 2012 Winner
Christmas 2015
Valentine's Day 2016
Easter 2016
MushyMuncher
Tier 1 Prizebox
xen dev blog
yaay!
 
Runescape Gamblingrunescape gambling
Back
Top