cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
Announcements
Back again with another edition of 'How we use Dropbox', so find out how Emma uses to-do lists to get it all done here!

Dropbox API Support & Feedback

Find help with the Dropbox API from other developers.

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

shared_link_already_exists just after list_shared_links returned nothing

shared_link_already_exists just after list_shared_links returned nothing

Slawek
New member | Level 2

I maintain an application which uploads files submitted by users and creates a shared link to them.

In most cases it works properly, but today one call to create_shared_link_with_settings returned 409 with the message shared_link_already_exists

It happened few hundred miliseconds after I called list_shared_links and received nothing.

 

Is there any reasonable explanation to this phenomena?

3 Replies 3

Re: shared_link_already_exists just after list_shared_links returned nothing

Greg-DB
Dropboxer
While it's technically possible the race condition occurred in this case (i.e., the link was created by some other client in between your two calls to list_shared_links and create_shared_link_with_settings), that is relatively unlikely given the short time span you indicated.

Is it possible your app called create_shared_link_with_settings twice somehow though? E.g., as an automatic retry in response to a network failure? That could cause this.

In any case though, you should implement error handling in your app for the shared_link_already_exists error, regardless of the timing of a previous call to list_shared_links.

Re: shared_link_already_exists just after list_shared_links returned nothing

Slawek
New member | Level 2

I call list_shared_links and create_shared_link_with_settings in the same function, so the first should discover any shared links created earlier, no matter how. That's my idea for this code ;).

 

In fact I have added this option only as a precaution, because the same function also uploads the file with autorename, so I don't expect any shared link for this file to exist.

Unless this error can be caused by sharing of the parent folder. Of course it would still be a race condition, which is very unprobable .

 

Is it possible to get shared_link_already_exists on the file just because a parent folder is shared?

Re: shared_link_already_exists just after list_shared_links returned nothing

Greg-DB
Dropboxer

Even though you call list_shared_links and create_shared_link_with_settings in the same function, there's still a race condition between the two calls, so you should make sure your call to create_shared_link_with_settings can always handle the possibility of a shared_link_already_exists error.

 

No, having a parent folder shared wouldn't cause a shared_link_already_exists error for a file in that folder.

Who's talking

Top contributors to this post

  • User avatar
    Greg-DB Dropboxer
  • User avatar
    Slawek New member | Level 2
What do Dropbox user levels mean?
Need more support?