Commit Graph

1191 Commits

Author SHA1 Message Date
Jude Nelson
c1bd6d2bf5 fix a race condition in the atlas database that can occasionally cause a zone file to not get forwarded to the subdomain system 2018-08-13 16:00:47 -04:00
Jude Nelson
961b17cb16 Merge branch 'master' into feature/token-v1 2018-08-07 14:39:29 -04:00
Jude Nelson
875a505766 /v2 CORS 2018-08-07 14:21:05 -04:00
Jude Nelson
2f2508bc2a need jsonschema 2018-08-07 14:20:52 -04:00
Jude Nelson
097fc369bd serialize all calls to enqueue zone files 2018-08-06 18:14:16 -04:00
Jude Nelson
66e8edc08f dead comment 2018-08-06 18:14:03 -04:00
Jude Nelson
e808ea9ca3 when synchronizing the atlasdb with the namedb, call the storage callback for each zone file we already have. That way, if a zone file hash is re-announced, it will be processed by the storage callback again (as desired) 2018-08-06 18:12:51 -04:00
Jude Nelson
1b56e1bba2 api tweak: pass the server state to the virtualchain hooks (including the atlas state) 2018-08-06 18:12:29 -04:00
Jude Nelson
720c94049d check virtualchain for unclean shutdown and handle accordingly 2018-08-06 11:17:29 -04:00
Jude Nelson
0499d3fa68 fix a race condition in the atlas database that can occasionally cause a zone file to not get forwarded to the subdomain system 2018-07-27 15:08:13 -04:00
Jude Nelson
0ed8c393d5 pass through fsync 2018-07-23 19:43:32 -04:00
Jude Nelson
3d577a7aa0 re-store zone files unconditionally (again), so we can recover from corrupt zone files 2018-07-20 00:29:56 -04:00
Jude Nelson
a7b92da6d1 cap the number of zone files we process per block for subdomains 2018-07-19 22:09:07 -04:00
Jude Nelson
0641feebbe cap the number of zone files we process per block for subdomains 2018-07-19 22:08:35 -04:00
Jude Nelson
cea93eaaed disable durability pragmas in the subdomain db, since if the node crashes we have to restore the subdomain db anyway (2x speed improvement). also, add a 'zonefile_offset' column to the subdomain db that fixes DID creation in the case where the same owner address created multiple subdomains in the same zone file 2018-07-18 21:10:39 -04:00
Jude Nelson
40e4faa2e7 nearly 100x performance improvement if we don't fsync() each time we write a zone file (not strictly necessary for subdomain zone files, but definitely necessary for zone files arriving via Atlas) 2018-07-18 21:10:33 -04:00
Jude Nelson
1d4940f5f7 also export subdomain db and atlas db (meant mainly for testing) 2018-07-18 21:10:24 -04:00
Jude Nelson
d0e7570b7e if we don't get a DID back, then the name doesn't exist 2018-07-18 21:10:12 -04:00
Jude Nelson
399f94d1ce check environ for genesis block on startup 2018-07-18 21:10:04 -04:00
Jude Nelson
ed988897a4 disable durability pragmas in the subdomain db, since if the node crashes we have to restore the subdomain db anyway (2x speed improvement). also, add a 'zonefile_offset' column to the subdomain db that fixes DID creation in the case where the same owner address created multiple subdomains in the same zone file 2018-07-18 18:57:12 -04:00
Jude Nelson
2288672b08 nearly 100x performance improvement if we don't fsync() each time we write a zone file (not strictly necessary for subdomain zone files, but definitely necessary for zone files arriving via Atlas) 2018-07-18 18:56:38 -04:00
Jude Nelson
b55d23f609 also export subdomain db and atlas db (meant mainly for testing) 2018-07-18 18:56:21 -04:00
Jude Nelson
7114040e3a if we don't get a DID back, then the name doesn't exist 2018-07-18 18:56:03 -04:00
Jude Nelson
e1b4c0b5bc lint 2018-07-06 15:20:58 -04:00
Jude Nelson
b82d6428ed de-lint 2018-07-06 14:23:36 -04:00
Jude Nelson
58604448fd Merge branch 'master' into develop 2018-07-06 14:08:31 -04:00
Jude Nelson
efbcaccc5a up to 1000 threads (only 1024 file descriptors are available anyway) 2018-07-06 14:06:58 -04:00
Jude Nelson
01ef6b022b de-lint; version bump 2018-07-06 14:04:09 -04:00
Jude Nelson
733e3ce9ef delinting! 2018-07-06 13:48:24 -04:00
Jude Nelson
803f2cd9ef delinting; also, be sure to remove a zone file if it is corrupt (check it ourselves to be sure) 2018-07-06 13:47:57 -04:00
Jude Nelson
5af4311c63 remove old and new zonefile paths when removing a zonefile 2018-07-06 13:47:41 -04:00
Jude Nelson
a1709b3a2f reduce the multiplier for the maximum rpc size to 150 (really can get away with more like 133, but let's play it safe--it's only 0.6 MB) 2018-07-05 23:41:39 -04:00
Jude Nelson
541c20afd6 set MAX_DATA in all places where we import defusedxml packages 2018-07-05 23:41:27 -04:00
Jude Nelson
1582197c7a version bump 2018-07-05 21:43:13 -04:00
Jude Nelson
800f82911d make the max RPC length equal to the expected amount of space 100 fully-loaded zone files take when encoded 2018-07-05 21:42:26 -04:00
Jude Nelson
c62794f1b9 use getter for genesis block 2018-07-05 18:47:27 -04:00
Jude Nelson
e28314eae6 add getters/setters for global genesis block 2018-07-05 18:47:17 -04:00
Jude Nelson
cd45b533ec pass in genesis block data to namedb initialization code 2018-07-05 18:47:00 -04:00
Jude Nelson
260cec690f sanity-check the genesis block on start-up 2018-07-05 18:46:37 -04:00
Jude Nelson
16a071a62b make the default maximum number of RPC connections 1000 (we have ~6 open at any given point in time, but this expands briefly when the server processes a new block) 2018-07-05 17:42:13 -04:00
Jude Nelson
875ce2dba4 add a bounded threading mixin to the RPC server that allows it to have up to a maximum number of outstanding threads handling requests. serialize all RPC access so we don't introduce database contention or corruption. make the maximum number of RPC threads overridable in the environment. 2018-07-05 17:32:55 -04:00
Jude Nelson
503e5137c7 docs: big-endian token representation 2018-07-05 17:32:04 -04:00
Jude Nelson
c321451c23 docs: big-endian token representation 2018-07-05 17:31:54 -04:00
Jude Nelson
5b0e170e7d docs: big-endian token representation 2018-07-05 17:31:44 -04:00
Jude Nelson
8a3621b0fb docs: big-endian token representation 2018-07-05 17:31:31 -04:00
Jude Nelson
4c19b29d90 take the global GENESIS_BLOCK 2018-07-05 17:31:21 -04:00
Jude Nelson
d5bccbec17 block_height is an int 2018-07-05 17:31:12 -04:00
Jude Nelson
fd2a2f4236 clarify query-string args 2018-07-05 17:30:59 -04:00
Jude Nelson
892c2801a7 genesis block will be obtained from blockstack/lib/config.py, always 2018-07-05 17:29:04 -04:00
Jude Nelson
b609ece33e load genesis block from a module, or from source 2018-07-05 17:28:46 -04:00