Is Google App Engine tmp folder isolated per instance? [closed]
up vote
0
down vote
favorite
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
New contributor
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, chŝdk, Matthieu Brucher Nov 19 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
up vote
0
down vote
favorite
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
New contributor
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, chŝdk, Matthieu Brucher Nov 19 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
up vote
0
down vote
favorite
up vote
0
down vote
favorite
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
New contributor
There's very little information about the /tmp/ folder which App Engine can use to write files. https://cloud.google.com/appengine/docs/standard/java/runtime-java8#Java_The_sandbox
The main question is if this is isolated per instance? And if an instance saves a file, starts a push queue, will the push queue be ran by the same instance and able to read the file?
Thanks
java google-app-engine
java google-app-engine
New contributor
New contributor
New contributor
asked Nov 19 at 13:16
Carl Emmoth
1
1
New contributor
New contributor
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, chŝdk, Matthieu Brucher Nov 19 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
closed as off-topic by DaveyDaveDave, Oussema Aroua, Nic3500, chŝdk, Matthieu Brucher Nov 19 at 15:53
This question appears to be off-topic. The users who voted to close gave this specific reason:
- "Questions about general computing hardware and software are off-topic for Stack Overflow unless they directly involve tools used primarily for programming. You may be able to get help on Super User." – DaveyDaveDave, Nic3500
If this question can be reworded to fit the rules in the help center, please edit the question.
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
up vote
1
down vote
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
1
down vote
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
add a comment |
up vote
1
down vote
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
add a comment |
up vote
1
down vote
up vote
1
down vote
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
The /tmp
directory actually exists in memory, so it is local to each GAE instance. From the doc you quoted:
Files in
/tmp
will consume the memory allocated to your instance.
Typically the execution of a push queue task is not guaranteed to happen on the same instance that enqueued the task.
This guarantee can only exist in a very specific, rather not typical case: you use manual scaling with exactly one instance running and that instance both enqueues the task and (later) processes it.
answered Nov 19 at 14:23
Dan Cornilescu
26.7k113160
26.7k113160
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
add a comment |
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
Can confirm, when logging instance id (ModulesServiceFactory.getModulesService().getCurrentInstanceId()) there sometimes a different instance for wrtiting file at request and reading file in push queue. But this only happens when there's a large file and at App Engine, not for smaller files or locally. Seems that first instance is busy writing file and a second instance is starting the push queue at the same time.
– Carl Emmoth
Nov 20 at 14:14
1
1
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
You can encounter much more often the case if you have multiple instances running or if your tasks are delayed/deferred long enough for the enqueuing instance to disappear
– Dan Cornilescu
Nov 20 at 15:15
add a comment |