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

3.3.0 release #300

Closed
2 tasks done
glensc opened this issue Oct 2, 2017 · 24 comments
Closed
2 tasks done

3.3.0 release #300

glensc opened this issue Oct 2, 2017 · 24 comments
Assignees
Milestone

Comments

@glensc
Copy link
Member

glensc commented Oct 2, 2017

@balsdorf
Copy link
Contributor

balsdorf commented Oct 2, 2017

Disk space question is a good one. I'll do some tests and let you know.

@glensc
Copy link
Member Author

glensc commented Oct 3, 2017

there are two kind of disk requirements:

  • uprading 3.2.3 -> 3.3.0
  • migrating from one storage type to another

in this issue scope, only the first one is interesting

@balsdorf
Copy link
Contributor

balsdorf commented Oct 3, 2017

For upgrading from 3.2.3 -> 3.3.0 there should be no additional disk space required. The upgrade process just adds the new tables and columns but leaves existing attachments in the current table. New attachments will be inserted into the new table but unless you run migrate_storage_adapter.php it won't move anything.

@glensc
Copy link
Member Author

glensc commented Oct 3, 2017

thanks for the info! i'll copy that to original PR too. should we add something to changelog.md too or as nothing special, not necessary?

@glensc
Copy link
Member Author

glensc commented Oct 3, 2017

i think i'll roll out 3.3.0 release, today-tomorrow, unless @balsdorf want to do that yourself.

@balsdorf
Copy link
Contributor

balsdorf commented Oct 3, 2017

Nothing is needed in changelog.md regarding disk space, but not sure if we want to add text letting people know they can switch to a different adapter? I'm undecided as I view this as an advanced feature that most people won't need so I don't know if we want to advertise it. I went ahead and added a new page in the wiki regarding it. Think this is good enough or we should advertise it in the changelog?

And please go ahead with the release when you can.

@phavel
Copy link
Contributor

phavel commented Oct 3, 2017

On the contrary, it is a important function.
I'm waiting for it and I am happy it will be released. My MySQL storage on a web host is already full because of attachments.

Thanks for the function!

@balsdorf
Copy link
Contributor

balsdorf commented Oct 3, 2017

@phavel I'm not worried about people like you who are reading these PRs! :) Once you try it out let me know any feedback you have, updated docs are appreciated as well.

glensc added a commit that referenced this issue Oct 4, 2017
@glensc
Copy link
Member Author

glensc commented Oct 4, 2017

@balsdorf damn, your analyze is totally wrong!

EventumAttachments does alter on issue_attachment and issue_attachment_file tables! meaning there's need for double of those tables size!

MySQL copies data to new tables using #tmp* and does rename if that succeeds. issue_attachment_file is the second biggest table in the system after support_email_body

glensc added a commit that referenced this issue Oct 4, 2017
this table is bigger than issue_attachment, meaning if disk space is short
whole migration will be aborted, not completed partially.

refs #300
@glensc
Copy link
Member Author

glensc commented Oct 4, 2017

@balsdorf how you propose to solve this, add the new column of issue_attachment_file table to some new table perhaps instead?

@balsdorf
Copy link
Contributor

balsdorf commented Oct 4, 2017 via email

@balsdorf
Copy link
Contributor

balsdorf commented Oct 5, 2017

I've made the changes and submitted #302 . I'd like to do more testing tomorrow, but all my current testing looks good, including migrating data.

@glensc
Copy link
Member Author

glensc commented Oct 5, 2017

@balsdorf InnoDB is not supported in Eventum, it's default is still MyISAM. If you have it as InnoDB it's your own hack and you likely need to convert every new table manually :).

altho with introducing phinx migration tool, we could easily make engine configurable. i haven't done that myself because i still use MyISAM. i don't have viable replication/backup/restore plan using InnoDB, using mysqldump is rather lame solution. for MyISAM i use mysqlhotbackup via bacula-backup-mysql on slave instance.

would like to solve that problem first before looking into InnoDB.

@balsdorf
Copy link
Contributor

balsdorf commented Oct 5, 2017

Hah, sometimes I forget that people have other environments than I do. InnoDB is faster and safer (and now supports fulltext which was the reason we used to stay on MyISAM. Maybe with 4.0.0 we change the default to InnoDB. I'll ask our team what they recommend for InnoDB backups for you.

@balsdorf
Copy link
Contributor

balsdorf commented Oct 6, 2017

Xtrabackup is what my team recommends.
Personally we are using LVM Snapshots on one slave and mydumper on the other.

@phavel
Copy link
Contributor

phavel commented Oct 7, 2017

Once you try it out let me know any feedback you have, updated docs are appreciated as well.

Sorry, now I can't try it (development version), but I am looking forward to production version.

@glensc
Copy link
Member Author

glensc commented Oct 7, 2017

upgraded my production with snapshot build. eventum-3.2.3-189-g7b4eddae.tar.gz to be exact.

looks fine, so making release now.

@glensc
Copy link
Member Author

glensc commented Oct 7, 2017

v3.3.0 released

@glensc glensc closed this as completed Oct 7, 2017
@glensc
Copy link
Member Author

glensc commented Oct 8, 2017

@balsdorf another issue with attachments. the upgrade was supposed not to require filesystem storage. i.e everything is still stored to database.

however it gives me error:


root@eventum ~/eventum# /tmp/eventum.phar add-att 62998 sync-20171008.log -i

                                                                              
  [Eventum_RPC_Exception]                                                     
  Impossible to create the root directory "/usr/share/eventum/var/storage/".  
                                                                              

add-attachment [-f|--filename FILENAME] [-m|--mimetype MIMETYPE] [-d|--description DESCRIPTION] [-i|--internal] [--] <issue_id> <file>

@glensc
Copy link
Member Author

glensc commented Oct 8, 2017

need to release 3.3.1 due #305

@balsdorf
Copy link
Contributor

balsdorf commented Oct 9, 2017

Was the issue with being unable to create the root storage directory solved by #305?

@glensc
Copy link
Member Author

glensc commented Oct 9, 2017

unable to create root directory error happened because there were no filesystem permissions. what i had in mind, i did not expect filesystem driver being used out of the box. that was my issue.

not sure if that needs to be fixed, i.e if the fix is going to make code too complex, it's not worth of it. in my system i granted the write permission. the dir is left empty with new attachment uploads, so it's not filled, but the unused driver initialization failed.

@balsdorf
Copy link
Contributor

balsdorf commented Oct 9, 2017 via email

@glensc
Copy link
Member Author

glensc commented Oct 9, 2017

seems you still did not get my confusion.

  1. from Use league/flysystem to abstract attachments #254 i understood that the default upgrade path will be using db only storage (as pre 3.3.0)
  2. but still "local" backend is configured (thus the error i got)

but as you're not going to do about it in short term, i'm going to release 3.3.1 now.

@glensc glensc closed this as completed Oct 9, 2017
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

No branches or pull requests

3 participants