-
Notifications
You must be signed in to change notification settings - Fork 124
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
Not able to publish components of size > 500MB #514
Comments
Hi @NapoleanReigns I never tried to publish a big component like that, but it should work. The file limits are exposed here: https://github.com/opentable/oc/blob/master/src/registry/middleware/file-uploads.js#L14 - I can try testing locally and see how it goes. Out of curiosity, have you tried publishing other components with success? |
yes i am able to publish other (smaller in size) components successfully. |
Trying to reproduce locally, I managed to get this error during the upload of the huge file: { TimeoutError: Connection timed out after 10000ms
at ClientRequest.<anonymous> (/Users/mfigus/Documents/gh/opentable/oc/node_modules/aws-sdk/lib/http/node.js:83:34)
at ClientRequest.g (events.js:291:16)
at emitNone (events.js:86:13)
at ClientRequest.emit (events.js:185:7)
at TLSSocket.emitTimeout (_http_client.js:629:10)
at TLSSocket.g (events.js:291:16)
at emitNone (events.js:86:13)
at TLSSocket.emit (events.js:185:7)
at TLSSocket.Socket._onTimeout (net.js:342:8)
at ontimeout (timers.js:380:14)
message: 'Connection timed out after 10000ms',
code: 'NetworkingError',
time: 2017-06-11T12:06:34.230Z,
region: 'eu-west-1',
hostname: 'oc-registry.s3-eu-west-1.amazonaws.com',
retryable: true } In my case, I have a big video. So, this is the first thing I'll try to handle. |
I got a PR opened for fixing various things.
With server timeout set to 10m (so that we don't have express hanging with a ECONNRESET) and s3 timeout set to 2m (uploads happen in chunks after this PR so this may be even not strictly necessary) I managed to upload ~300MB components without problems (takes a couple of mins but all seems to work). |
@matteofigus so you think we should be able to publish components that big? I am not sure if this is the right approach. |
@mattiaerre I think I prefer the user to have his own opinions. More specifically, the framework can have opinions in terms of defaults (10s for AWS reqs, and 2m for responses timeout seems like in line with having small and optimises resources in your components), but I like the idea of the contributor being able to change this settings to satisfy different business needs. Also, 2 more things to keep in mind:
In conclusion, my main goal with #516 is to make some good optimisations that became visible after investigating the issue. If in parallel, I can also solve this, I am happy :) |
I understand your point of view but my concern is that we should always pick up the right tool for the right job and to me hosting big assets inside component is not the right approach. As we will end up with huge components at every publish. Very good w/ the side effects w/ this PR btw this is really cool 😎 |
Hey guys just to give you some more info, I ran into this issue the other day consistently with a component of around 270MB in size. Does the number of files also matter here ?? |
Yeah, 2m total for multiple s3 uploads could be not enough and making it configurable could be a quick win |
@NapoleanReigns I just published Can you try and let me know? |
I am not able to publish a component (which is of size 570 MB) to AWS s3 bucket from local computer (Mac OS X Sierra).
I often see the below error when it fails,
An error happened when publishing the component: Error: socket hang up
I tried to publish the component in below manner,
node index.js bucket= region= key= secret=
oc registry add http://localhost:3000
oc publish
Output:
Packaging -> goes fine
Compressing -> goes fine
Publishing -> component url
An error happened when publishing the component: Error: socket hang up
any workaround for this ??
The text was updated successfully, but these errors were encountered: