when installing the customer package that is 3Gb, I noticed that installing it requires about 10Gb...
The root cause seems that it doesn't use the file directly, but instead perform multiple copies before actually starting to extract it.
1. it copies the package from crx-quickstart/install to datastore
2. from datastore if first copy it in /tmp like vaultpack7793665768596308927.zip
3. in /tmp/ it create a second copy __vlttmpbuffer2535888623024233693.dat
So at the end it will have used many diskspace which in the case of large package is not efficient.
It could be nice if it would use the original file (datastore or /install folder) all the time.
I think we should have 2 improvements:
- add option for streaming install which would:
- create a "hollow" package, that does not store the package content in the repository (basically, a 0 byte jcr:data). I think it's still good to have the package node so that you see it was installed
- would not create a snapshot by default
- would not allow to uninstall
- would install directly from the stream, w/o need of tmp file (there might be a problem with large zip's that still need a tmp file - but with java7 that might not be a problem anymore)
- add option to select a file on the server disk for installation. this can be done independent of the "hollow" package support above. but would allow to scp the files on the server, and then install it w/o an ever-open browser connection.