Commit graph

83 commits

Author SHA1 Message Date
Jack Robison
aa4240de85
track successful reflector uploads in sqlite to minimize how many streams are attempted by auto re-reflect
-increase the default `auto_re_reflect_interval` to a day
2018-05-08 14:41:56 -04:00
Jack Robison
9a9b2f47ce
pass sd_hash to reflector client factory instead of looking it up 2018-03-29 09:46:34 -04:00
Jack Robison
3085e28490
don't try to resend failed blobs to reflector
-fixes infinite loop where client keeps trying to send failing blobs, which may be failing because they are invalid

-return list of reflected blob hashes from BlobReflectorClient
2018-03-22 16:53:16 -04:00
Jack Robison
679c2f403f
fix incorrectly raised DownloadCanceledError for already verified blobs
-make InvalidDataError message clearer
-fix BlobReflectorClient result
2018-03-22 13:23:12 -04:00
Jack Robison
b28bdbd752
rename existing reupload.reflect_stream --> reupload.reflect_file, add a reupload.reflect_stream function 2018-03-19 13:55:11 -04:00
Jack Robison
81de5fbbf4
verify_will_announce_head_and_sd_blobs 2018-03-08 16:46:39 -05:00
Jack Robison
9a8cac20e7
update reflector client and server to use SQLiteStorage 2018-02-13 10:27:51 -05:00
Jack Robison
64e04f8a68
refactor start_lbry_file 2018-01-04 21:28:09 -05:00
Jack Robison
bf46f5616b
Merge branch 'add_lbry_file_manager_to_reflector_2' 2017-12-29 12:39:50 -05:00
Jack Robison
a6f0c5fb4c
pylint fixes
fix exception formatting and a circular import
2017-12-15 20:25:20 -05:00
Alex Grintsvayg
ebed4f010b fixes #1029 - stupid error messages 2017-12-13 13:56:44 -05:00
Jack Robison
329d74f6be
don't include file names when logging stream related info 2017-12-06 15:09:35 -05:00
Kay Kurokawa
63c6d3580d do not yield on add_lbry_file() when obtaining sd blob as reflector server 2017-12-05 13:18:16 -05:00
Kay Kurokawa
ab667015c4
add lbry_file_manager to reflector server and add files to it 2017-12-04 13:08:33 -05:00
Kay Kurokawa
70709b4ca4
remove use of name from reflector client, use file name instead 2017-11-28 11:53:15 -05:00
Jack Robison
d1511cba54 fix reading sd blob
TODO: add __enter__ and __exit__ methods to HashBlobReader to let it be
used as a contextmanager
2017-10-05 17:58:18 -04:00
Kay Kurokawa
0a919c3eab fix inconsistency in how blob_hashes_to_send is used, preventing proper reflecting 2017-10-03 11:22:07 -04:00
Kay Kurokawa
6268e43509 make sure to close blob files when connection is lost on reflector client 2017-10-02 16:30:58 -04:00
Kay Kurokawa
a4ea49cf65 read handle was not being closed after file transfer 2017-09-27 17:30:20 -04:00
Kay Kurokawa
aab43c8d6c close the reader directly instead of calling close_read_handle() 2017-09-27 17:30:20 -04:00
Jack Robison
4b8700268f
discover stream info for uploads via reflector v1 2017-09-22 14:46:23 -04:00
Kay Kurokawa
1a8e11ead3
work on reflector head blob announce only 2017-09-22 14:39:28 -04:00
Jack Robison
6cbe86d057
rename is_validated() to get_is_verified() to distinguish from verified property 2017-09-20 14:02:34 -04:00
Kay Kurokawa
e92321a9c1
have BlobFile.open_for_writing() return the writer instead of write and close functions 2017-09-20 13:59:23 -04:00
Jack Robison
b98cd24e10
don't reflect empty last blob 2017-09-20 13:59:20 -04:00
Jack Robison
c971cce717
file_reflect 2017-08-04 16:08:03 -04:00
Jack Robison
d5f2481af5
handle ip addresses given as reflector servers 2017-08-04 16:08:02 -04:00
Kay Kurokawa
98f90a4ad6 fixing minor debugging bug 2017-03-08 15:32:00 -05:00
Jack Robison
9744287370 change attribute "uri" to "name" 2017-03-07 18:29:44 -05:00
jobevers
9e2cda0cdc remove more upload_allowed arguments 2017-02-15 06:48:58 -06:00
jobevers
4fb5e932e6 fix indentation 2017-02-15 06:48:58 -06:00
Job Evers-Meltzer
2a45c91175 fix get_blob calls with upload_allowed arguments 2017-02-15 06:48:58 -06:00
Job Evers-Meltzer
a38e5c855e Remove upload_allowed attribute
This is unused and largely pulluting the argument list
of too many functions.
2017-02-15 06:48:50 -06:00
Jack Robison
7720724ec0 reflect lbry_files in looping call in EncryptedFileManager
-remove ManagedEncryptedFileDownloader._reupload

-clean up reflector functions in Daemon, move to reflector.reupload

-check ConnectionLost in reflector client

-close sd blob file handle when it wont be sent (otherwise read handle stays open)

-log reflector sd info

-give reflector client factory a lbry file
2017-02-13 15:13:37 -05:00
Alex Grintsvayg
c7106dfc97 reduce loudness of reflector message 2017-02-13 12:12:32 -05:00
Jack Robison
777419b4a9 log traceback on failed blob upload
-move status message on connectionDone to client, indicate if blobs
were sent or not (and how many blobs reflector still needs, if any)

-only try uploading failed blob once after first failure, to prevent
indefinite retries
2017-02-08 16:18:34 -05:00
Jack Robison
f2ddc9bd98 fix recursion depth bug upon failed blob 2017-02-08 14:28:30 -05:00
Jack Robison
d053db8dfd add uri to stream reflector for better logging 2017-02-08 14:28:16 -05:00
Jack Robison
a58a81a841 stopProducing in reflector client file_sender when uploading is done
this fixes exceptions.ValueError: I/O operation on closed file in
twisted.protocols.basic.ResumeProducing
2017-02-08 14:09:03 -05:00
Jack Robison
f614a13db4 update documentation 2017-02-06 15:56:00 -05:00
Jack Robison
6fae07d29e reflector v2
-add {‘sd_blob_hash’: …, ‘sd_blob_size ‘: …} query type with
{‘send_sd_blob’: True/False, ‘needed_blobs’: []} response

this allows the reflector client to know how much of a stream reflector
already has covered, as to minimize the number of subsequent requests
and prevent streams from being partially reflected

-remove empty {} request
2017-02-06 15:55:46 -05:00
Jack Robison
74a872d763 fix pylint errors 2017-01-25 13:10:38 -05:00
Jack Robison
5fa2dfeca7 try reflecting all the blobs in a stream
previously only the sd blob was reflected, if the server indicated it
needed the blob then the rest of the stream would follow. this allowed
for many streams to be partially reflected, where for whatever reason
the connection was broken before the full upload was completed. this
meant that on a subsequent run, the client would falsely believe
reflector had the whole stream when it actually only had some portion
of it.

this solution isn’t ideal, I’m most of the way done with a better one,
but this can be deployed now.
2017-01-25 13:03:48 -05:00
Job Evers-Meltzer
fa8190356a replace log_support.failure calls 2016-12-15 18:58:15 -06:00
Job Evers-Meltzer
c30ea04959 Remove commented code
This is the result of running eradicate (https://github.com/myint/eradicate)
on the code and double-checking the changes.
2016-12-15 18:58:06 -06:00
Job Evers-Meltzer
b64fa51567 fixup long lines 2016-12-07 09:38:34 -05:00
Job Evers-Meltzer
0941618048 move reflector blob client to its own module 2016-11-14 19:33:36 -06:00
Job Evers-Meltzer
85dee27c92 whitespace 2016-11-14 19:33:36 -06:00
Job Evers-Meltzer
61a354fa60 add bad-whitespace check to pylint 2016-11-09 11:27:07 -06:00
Jack
9de7354ea0 drop connection on failed read blob 2016-11-01 16:32:34 -04:00