Commit graph

781 commits

Author SHA1 Message Date
Jack Robison 99207b7221
delete Session.py
split Session into Components
2018-07-30 18:00:33 -04:00
Jack Robison e3c3fafa1e
split headers download into own component
-add component statuses
2018-07-30 18:00:33 -04:00
Victor Shyba 9742da348b do not consume errors on DeferredList 2018-07-30 13:53:58 -03:00
Victor Shyba 94a31922f7 fix unnecessary logging tag 2018-07-30 11:22:31 -03:00
Victor Shyba ff4aba9423 refactor mirroring 2018-07-30 11:22:31 -03:00
Victor Shyba ab27203100 improve exception logging and add a docstring on the interaction between downloaders 2018-07-25 13:01:13 -03:00
Victor Shyba f510c2a433 improve logging from review 2018-07-25 12:15:52 -03:00
Victor Shyba ec140d5d8a changes from code review 2018-07-25 12:15:52 -03:00
Victor Shyba ad96b006f9 adds http download support for blobs mirroring 2018-07-25 12:15:52 -03:00
Jack Robison 5984ae7ce9
fix 2018-07-24 21:10:53 -04:00
Jack Robison a89306b6bf
reorganize daemon startup
-fix loggly not using the share usage setting

-delete more
2018-07-24 20:01:38 -04:00
hackrush 62b50dc0ae
move custom logger to lbrynet directory
-import on module level __init__
2018-07-24 20:01:38 -04:00
hackrush e7c57dcabc
add components_to_skip setting 2018-07-24 20:01:38 -04:00
hackrush 5a2075019c
update Wallet.check_locked 2018-07-24 20:01:38 -04:00
hackrush 40d8e96811
remove functions and attributes in Session and Daemon that are now part of components
-rename attributes in daemon to use components
2018-07-24 20:01:38 -04:00
Jack Robison 7e8ca842a2
change ComponentManager to use instance methods rather than class methods
-add get_component method to ComponentManager

-add override_components kwargs to ComponentManager

-add skip_components to ComponentManager

-change component_manager attribute to exist on the AuthJSONRPCServer instance instead of the class
2018-07-24 20:01:38 -04:00
Victor Shyba 4d720370b1 fix where it called the wrong score method 2018-07-17 17:48:25 -03:00
Victor Shyba 5492ab9081
stop requesting peers which doesnt have a blob 2018-07-17 13:22:08 -04:00
Lex Berezhny 6952c2c07e
Revert "refactor lbrynet-daemon into modular components" (#1286)
* Revert "fix reflector test"

This reverts commit 6a15b51ac3.

* Revert "refactor lbrynet-daemon into modular components (#1164)"

This reverts commit 75a6ff269e.
2018-07-05 19:05:48 -04:00
Jack Robison 75a6ff269e refactor lbrynet-daemon into modular components (#1164)
* add daemon Component and ComponentManager classes

* convert directory and SQLiteStorage setup to be a Component

* support callbacks to component setups

* Fixed typo in ComponentManager

* convert wallet to be Component

* Use storage from session.

* Remove create_session internal function and PEP8

* Starting to convert session to its own component. Removed ref to `self.storage` from Daemon.py

* Making DHT component(broken)

* Refactored classes to reduce redundancy in getting config setting

* DHT is now it's own component

* Fixed `test_streamify` test

* Fixed regression caused by removing `peer_manager` from session

* refactor ComponentManager and Component to use instance instead of class methods

* Hash announcer, file manager, stream identifier components

* Query Handler and server components

* Reflector Component

* Fixed test_streamify(well Jack did, but ¯\_(ツ)_/¯)

* All tests now passing

* Pylint fixes

* Oops(That's all you're gonna get :-P)

* Making decorators(WIP, commit so that I don't lose work)

* Decorator made and decorating of functions done(some other changes)

* import fixes and removed temporary test function

* Fixed new broken tests from daemon refactor

* Sanitization of modules

* Reworded errors

* wallet unlock condition checks, fixed breaking changes

* Rebased on amster and other crazy stuff

* Started writing tests

* Tests for component manager

* Fix Daemon Tests

* Fixed passing mutable args in init

* Using constants instead of strings. Added CHANGELOG.md

* Now components can be skipped by setting relevant config in file.

* P-Y-L-I-N-T #angry_emoji
2018-07-05 15:21:52 -04:00
Jack Robison 7fe92d2df0
load all finished blobs into the node datastore 2018-07-02 14:31:09 -04:00
Victor Shyba c5f4f58221 collect finished deferred before cancel call 2018-06-23 18:23:25 -03:00
Jack Robison 140c45b01f
Revert "add download progress and is downloading flag to daemon status (#1266)"
This reverts commit 2fa2269
2018-06-22 18:54:22 -04:00
Akinwale Ariwodola 2fa2269cc7
add download progress and is downloading flag to daemon status (#1266) 2018-06-21 23:49:22 +01:00
Jack Robison 61a7fd66bf
batch insert/update claims to sqlite 2018-06-20 16:08:12 -04:00
Jack Robison 89bc26191c
fix wallet startup locking up if a lbryumx server is unavailable 2018-06-18 18:42:48 -04:00
Jack Robison 5edd8deb63
fix blob client protocol not tearing itself down properly after a failure 2018-06-18 15:30:35 -04:00
Jack Robison a821647fbc
pylint and appveyor 2018-06-07 15:02:47 -04:00
Jack Robison f3e848b2e2
work around upnp bug
this fixes an incorrectly raised mapping conflict error which the router raises when there is a redirect for the same internal port and a different lan address.
2018-06-07 15:02:47 -04:00
Jack Robison 16cb6d8657
remove Session._join_deferred 2018-06-07 15:02:47 -04:00
Jack Robison 44644673d7
add profiler 2018-06-07 15:02:47 -04:00
Jack Robison 659632b66c
fix and update tests 2018-06-07 15:02:47 -04:00
Jack Robison 3dfc6bd2cc
update CallLaterManager to be an object 2018-06-07 15:02:47 -04:00
Jack Robison 760417ff3a
pylint 2018-06-07 15:02:47 -04:00
Jack Robison ae22468fec
fix CallLaterManager trying to remove pending calls multiple times 2018-06-07 15:02:47 -04:00
Jack Robison 372fb45e06
refactor dht bootstrap
after finding the closest nodes try to populate the buckets out by looking up random ids in their key ranges
2018-06-07 15:02:47 -04:00
Jack Robison b673c508cc
disable NegotiatedPaymentRateManager, use OnlyFreePaymentsManager for now 2018-06-07 15:02:47 -04:00
Jack Robison 4bd9f3bd68
remove popular hash tracking, simplify DHTPeerFinder 2018-06-07 15:02:47 -04:00
Lex Berezhny 6a344539a0 moved import distro into conditional statement that only runs on Linux 2018-05-29 14:49:06 -04:00
Lex Berezhny 1b027fae87 add some extra linux meta data to analytics 2018-05-28 18:07:23 -04:00
Victor Shyba a0a7187f7d add integrity checks after s3 download as well 2018-05-08 16:09:06 -03:00
Victor Shyba 2299098884 add integrity check for the headers file 2018-05-07 15:10:19 -03:00
Victor Shyba fd04c607b2 typos and fixes from code review 2018-05-07 13:11:31 -03:00
Victor Shyba e170f3db3e remove txrequests dependency 2018-05-05 02:20:21 -03:00
Victor Shyba 7f88dda0ae use treq on loggly 2018-05-05 02:18:03 -03:00
Victor Shyba 0bf65836c7 resume download from S3 instead of starting from scratch 2018-05-05 02:05:02 -03:00
Victor Shyba 3982e15091 download headers from s3 using treq 2018-05-05 01:16:26 -03:00
Jack Robison cc34c4b95f
Merge pull request #1189 from lbryio/faster-headers
magic
2018-05-04 11:10:43 -04:00
Thomas Zarebczan df2339231a
magic 2018-05-04 00:47:08 -04:00
Jack Robison 6977d6944e
show local, remote, and s3 header heights in the log 2018-05-02 17:25:00 -04:00
Jack Robison 129d2687b9
download headers from s3 when more than 10 chunks behind 2018-05-02 15:00:50 -04:00
Jack Robison 1f1b348638
fix handling ancient non-decodable claims 2018-04-19 17:37:23 -04:00
Jack Robison b89823c968
fix blob announce locking up the daemon process 2018-04-19 15:47:19 -04:00
Jack Robison 769bc2e36e
Revert "elif"
This reverts commit c3e047a2aa.
2018-04-19 14:34:49 -04:00
Alex Grintsvayg c3e047a2aa elif 2018-04-19 13:47:24 -04:00
Jack Robison fa49b40389
fix claim_show 2018-04-19 12:31:36 -04:00
Jack Robison a41bbd5e27
pylint and tests 2018-03-28 18:50:18 -04:00
Jack Robison c5bf64cf0a
refactor DHTHashAnnouncer
-remove hash_announcer from Node and DiskBlobManager
-remove announcement related functions from DiskBlobManager
-update SQLiteStorage to store announcement times and provide blob hashes needing to be announced
-use dataExpireTimeout from lbrynet.dht.constants for re-announce timing
-use DeferredSemaphore for concurrent blob announcement
2018-03-28 15:53:51 -04:00
Lex Berezhny 267f50474b
removing more references to PTCWallet 2018-03-28 15:53:50 -04:00
Lex Berezhny 866f220d9b
removed PTCWallet 2018-03-28 15:53:50 -04:00
Lex Berezhny 339e666f38
+ Wallet.wait_for_tx_in_wallet 2018-03-28 15:53:49 -04:00
Jack Robison 5628d0825b
add CallLaterManager 2018-03-28 15:53:49 -04:00
Jack Robison 88970cb0a8
move peer manager class to lbrynet.core 2018-03-28 15:53:49 -04:00
Jack Robison 04e76443c6
move dht node component setup from Session into Node 2018-03-28 15:53:47 -04:00
Jack Robison e6caedac91
remove DHTHashSupplier class, move former functions into DHTHashAnnouncer 2018-03-28 15:53:47 -04:00
Jack Robison efaa97216f
move dht node setup back into node class 2018-03-28 15:53:47 -04:00
Jack Robison e30ea50ef4
more 2018-03-28 15:53:47 -04:00
Jack Robison 3296c0fb3d
move dht related classes to lbrynet.dht 2018-03-28 15:53:47 -04:00
Kay Kurokawa 9088d152b5
better to keey track of retry count in function instead of unbounded dictionary 2018-03-28 15:53:46 -04:00
Kay Kurokawa 4cb461601e
result must be set here, otherwise it will not be defined when used later. Add test for it 2018-03-28 15:53:46 -04:00
Kay Kurokawa 75b977dff9
we just have one supplier not a list of suppliers 2018-03-28 15:53:46 -04:00
Kay Kurokawa 0f3385e4dc
make the single hash announce duration adjustable in DHTHashSupplier 2018-03-28 15:53:46 -04:00
Jack Robison 446c3a88dc
refactor DHTHashAnnouncer and iterativeAnnounceHaveBlob
-use looping call for running manage function rather than a scheduled
callLater

-track announce speed

-retry store requests that failed up to 3 times

-return a dict of {blob_hash: [storing_node_id]} results from
_announce_hashes

_refreshRoutingTable inline cb refactor

-add and use DeferredLockContextManager

-don't trap errback from iterativeFindNode in iterativeAnnounceHaveBlob
2018-03-28 15:53:45 -04:00
Jack Robison e94d10d3eb
only call get_max_usable_balance_for_claim in Wallet.py if the bid looks too high for the balance 2018-03-14 13:47:34 -04:00
hackrush 16f2a5429b Name and output message fix. 2018-03-13 01:26:18 +05:30
hackrush f5aadf3918 Sanitized logged error for channel and name claims 2018-03-09 21:28:33 +05:30
hackrush 6d4af4ba90 Error cleanly when claiming a new channel with exact or higher amount than balance
fixes #1107
2018-03-09 21:28:33 +05:30
Jack Robison 81de5fbbf4
verify_will_announce_head_and_sd_blobs 2018-03-08 16:46:39 -05:00
Jack Robison 3f1bcbffeb
fix blob_announce when announcing a single blob 2018-03-07 18:25:30 -05:00
Jack Robison 01c4c6ed97
fetch claim heights 2018-03-02 16:46:02 -05:00
Jack Robison 35426c7350
remove some unused code 2018-03-02 15:34:34 -05:00
Jack Robison a1aadb0bce
fix join_dht attribute error 2018-03-02 15:13:22 -05:00
Alex Grintsvayg d086fb9547 only log errors to loggly 2018-03-01 16:31:00 -05:00
Jack Robison dafa80ce29
Merge branch 'master' into update_fix 2018-02-22 14:10:51 -05:00
Jack Robison b1c66015e1
detect and remove invalid streams and sd blobs 2018-02-21 19:09:10 -05:00
Jack Robison 73eb66c0f2
pylint 2018-02-21 16:45:12 -05:00
Jack Robison 3e6b00ad00
remove sort from get_stream_hash
error on zero length data blobs or a non-zero length stream terminator blob
2018-02-21 16:34:48 -05:00
Jack Robison 0904c74273
remove unused create_plain_sd function 2018-02-21 16:33:15 -05:00
hackrush 3754f34f53 Review fixes and additional comments in test 2018-02-21 14:22:11 +05:30
hackrush 2368433b22 Check for max usable balance before updating 2018-02-20 08:54:03 +05:30
hackrush d72ef784ed Removed daemon side bid checks during publish
Fixes #748

Fixed failing test, Yay!

Why CHANGELOG? Why not anarchy?
2018-02-20 08:54:03 +05:30
Jack Robison 68c906aff9
pylint 2018-02-13 10:27:52 -05:00
Jack Robison e9b9118c2a
whitespace 2018-02-13 10:27:51 -05:00
Jack Robison f8c33b6acb
refactor lbrynet.core.StreamDescriptor
-remove lbrynet/lbry_file/StreamDescriptor.py
2018-02-13 10:27:50 -05:00
Jack Robison 0b1f4192fc
update Wallet to use SQLiteStorage
-remove CachedClaim and wallet storage classes
2018-02-13 10:27:50 -05:00
Jack Robison af87df3709
remove sqlite_helpers 2018-02-13 10:27:50 -05:00
Jack Robison e671005c3c
update BlobManager to use SQLiteStorage, remove old database functions
-remove blob upload/download history
2018-02-13 10:27:50 -05:00
Jack Robison db7061ce92
set up a SQLiteStorage object in Session 2018-02-13 10:27:50 -05:00
rick batka 69a99a61ba Fix issue #930. Disallow positional arguments for CLI settings_set and fix error reporting when settings_set fails. 2018-02-09 11:30:29 -05:00
Alex Grintsvayg 2f8c645edc download script now gets all blobs in stream if you give it an sd hash 2018-02-07 11:21:34 -05:00