Commit graph

765 commits

Author SHA1 Message Date
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
Jack Robison 1c45cf05d7
Merge branch 'atiaxi-blob-list-uri-fix' 2018-02-06 22:55:02 -05:00
Roger Ostrander d8e1738f27 Code review changes (removed safe_dict_descend) 2018-02-06 01:16:10 -05:00
Antonio Quartulli 8a7e707504
DHTPeerFinder: re-join the network if we have no peers
Periodically check if the routing table is empty and, if so,
re-attempt joining the DHT network.

This check is performed in the main DHTPeerFinder loop every 60 secs.

Closes: #1093
Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2018-02-06 12:33:12 +08:00
Antonio Quartulli ce0af77aa9
dht_node: split network start and join procedures
In order to attempt to join the DHT several times
(i.e. when the first attempt has failed) we need to
split the components initialization from the real
joining operation.

Create node.startNetwork() to initialize the node
and keep the rest in node.joinNetwork()

Signed-off-by: Antonio Quartulli <antonio@mandelbit.com>
2018-02-06 12:19:33 +08:00
Roger Ostrander a4343c3eb3 API call to blob_list with uri parameter now succeeds 2018-02-03 23:08:15 -05:00
Jack Robison f918916160
remove gmpy and seccure dependencies 2018-02-01 12:39:00 -05:00
Jack Robison eb4ba089ab
fix checking the external ip 2018-01-22 15:47:14 -05:00
hackrush 7472d12644 Removed include_tip_info from transaction_list, goes with lbryum#183 2018-01-18 08:43:58 +05:30
Kay Kurokawa 1c608a09a9 use reworked lbryum payto command 2018-01-16 13:30:12 -05:00
akinwale 5677f6d00d
added a new startup stage for wallet_unlock (#1048)
* added a new startup stage to indicate if the daemon is waiting for wallet_unlock
2018-01-07 06:44:29 +01:00
Jack Robison bc58add6de
logging 2018-01-04 21:25:56 -05:00
Jack Robison 6385ab27c1
fix handling stream with no data blobs
fixes https://github.com/lbryio/lbry/issues/905
2018-01-04 21:25:54 -05:00
Jack Robison 09c57675a7
add stream_availability and blob_availability, deprecate get_availability 2017-12-20 21:23:54 -05:00
Jack Robison 7c6c666342
fix verbose error 2017-12-20 20:43:01 -05:00
Jack Robison f0a1adc9c5
whitespace, logging 2017-12-20 20:43:01 -05:00
Jack Robison e22d43bb03
fix wallet_unlock 2017-12-18 13:17:54 -05:00