Commit graph

763 commits

Author SHA1 Message Date
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
Jack Robison
20b9e4d17e
fix typo 2017-12-18 11:31:59 -05:00
Jack Robison
8c2d381aee Wallet encryption (#783)
* update known commands
* add wallet_unlock, block wallet startup on being unlocked
* add wallet_decrypt and wallet_encrypt
* wallet encryption unit tests
* added use_keyring configuration option in order to make keyring password storage optional
2017-12-17 07:00:12 +01:00