Commit Graph

3228 Commits

Author SHA1 Message Date
Ivan Fraixedes
aa7b5b7c53
satellite/metainfo: avoid large conditional block (#3579)
Large conditional blocks are hard to read.
When the conditional block only has one branch it's easy to understand
the logic of the function to early return switching the condition.
2019-11-15 14:33:09 +01:00
Nikolai Siedov
0d35505fe1
SNOboard/console: router changed for gorillaMux, caching added (#3577) 2019-11-15 14:36:43 +02:00
Michal Niewrzal
bc16cb5d24
libuplink: remove additional GetBucket for upload/download (#3568) 2019-11-15 02:06:17 -08:00
Ivan Fraixedes
c193dee9ae
uplink/storage/streams: Fix upload error clean up (#3555)
The number of the last segment uploaded returned by upload wasn't
correct in all the return statements. The Put method calls upload but
with the returned values wasn't even certain of cleaning up correctly
the segments uploaded when an error happens.

This commit moves the logic of cleaning up inside of the upload method
because it's easier to understand than only doing inside of it the clean
up when a context cancellation happens. It also fixes the number of
segments to be deleted by cancelHandler when an error happens.

These changes should avoid trying to delete segments which haven't been
uploaded because of the wrong index value or because of being inline.
2019-11-15 10:37:20 +01:00
Isaac Hess
2166c2a21b
storage/filestore: Add Trash and RestoreTrash to Blobs (#3529)
* storage/filestore: Add Trash and RestoreTrash to Blobs

* Change restore to be satellite-specific

* Fix comment

* Fix merge rename conflict
2019-11-14 15:19:15 -07:00
Egon Elbre
ee6c1cac8a
private: rename internal to private (#3573) 2019-11-14 21:46:15 +02:00
Vitalii Shpital
f1d0d0d68f
web/satellite: static pages styling fixed (#3549) 2019-11-14 19:51:14 +02:00
Yingrong Zhao
d2a8ab5d7f pkg/pb: add referral manager protobuf definition (#3561) 2019-11-14 12:33:00 -05:00
Michal Niewrzal
4912922631
cmd: skeleton for segment-reaper detect command (#3562) 2019-11-14 07:57:27 -08:00
Egon Elbre
1a54007f1c
storagenode/storagenodedb: dont log opening of each database (#3571) 2019-11-14 17:08:16 +02:00
Matt Robinson
b2a7a9f4c4 scripts: add script to update tools (#3570) 2019-11-14 16:53:32 +02:00
Bryan White
b56cc21710 cmd/storagenode-updater: make updater test windows compatible (#3542) 2019-11-14 16:03:49 +02:00
Kaloyan Raev
77ed047428
installer/windows: unit test mocking file system (#3543) 2019-11-14 14:02:03 +02:00
Egon Elbre
1e64006e32 lint: add staticcheck as a separate step (#3569) 2019-11-14 10:31:30 +02:00
paul cannon
d5963d81d0
storage/postgreskv: fix ultra-slow nonrecursive list (#3564)
This is based on Jeff's most excellent work to identify why
non-recursive listing under postgreskv was phenomenally slow. It turns
out PostgreSQL's query planner was actually using two sequential scans
of the pathdata table to do its job. It's unclear for how long that has
been happening, but obviously it won't scale any further.

The main change is propagating bucket association with pathnames through
the CTE so that the query planner lets itself use the pathdata index on
(bucket, fullpath) for the skipping-forward part.

Jeff also had some changes to the range ends to keep NULL from being
used- I believe with the intent of making sure the query planner was
able to use the pathdata index. My tests on postgres 9.6 and 11
indicate that those changes don't make any appreciable difference in
performance or query plan, so I'm going to leave them off for now to
avoid a careful audit of the semantic differences.

There is a test included here, which only serves to check that the new
version of the function is indeed active. To actually ensure that no
sequential scans are being used in the query plan anymore, our tests
would need to be run against a test db with lots of data already loaded
in it, and that isn't feasible for now.

Change-Id: Iffe9a1f411c54a2f742a4abb8f2df0c64fd662cb
2019-11-13 17:52:14 -06:00
paul cannon
bd89f51c66
Keep v0pieceinfo database isolated (#3364)
* put TestCreateV0 back in StoreForTest
* avoid direct handles to V0 pieceinfo db
* type mismatch fix
* use storage.Blobs interface in store_test.go

..instead of filestore.Store. this will allow filestore.Store to become
unexported.

* unexport filestore.Store

rename it to blobStore. things should use the storage.Blobs interface
instead. changes in this commit are purely mechanical (made through the
"refactor" tool in Gocode followed by search/replace on the word "Store"
within the storage/filestore/ directory).

* kill filestore.StoreForTest

now that filestore.blobStore is unexported, there isn't a need for a
specialized wrapper type. this (not coincidentally) also makes it
possible for the WriterForFormatVersion() method on
storagenode/pieces.StoreForTest to work, without requiring everything to
wrap the store.blobs attribute in a filestore.StoreForTest, which was
impractical.
2019-11-13 13:15:31 -06:00
Yingrong Zhao
db8294cfba
storagenode/gracefulexit: get hash and limit using original piece ID (#3557) 2019-11-13 12:45:55 -05:00
Bryan White
0ff1547d08 certificate: close authDB in tests (#3559) 2019-11-13 07:32:44 -08:00
Natalie Villasana
1a9757a7f2 satellite/gracefulexit: add count for order limits sent from satellite to exiting node (#3544) 2019-11-13 09:54:50 -05:00
Bryan White
4c822b630d {certificates,pkg/rpcstatus}: improve error logging (#3475) 2019-11-13 11:07:21 +01:00
JT Olio
a72bf6c254 pkg/rpc: generate drpc/grpc tags correctly (#3556)
Change-Id: Iac79d6134246e92876dd57e269a9c96c2de95884
2019-11-12 16:22:21 -07:00
paul cannon
0d0b5a449b storage/filestore: monkit event for delete queuing (#3507) 2019-11-12 15:56:57 -05:00
Matt Robinson
2f19b0a80e Unhook jenkins from the staging cluster while we sort it out (#3553) 2019-11-12 20:15:46 +01:00
paul cannon
0c025fa937 storage/: remove reverse-key-listing feature
We don't use reverse listing in any of our code, outside of tests, and
it is only exposed through libuplink in the
lib/uplink.(*Project).ListBuckets() API. We also don't know of any users
who might have a need for reverse listing through ListBuckets().

Since one of our prospective pointerdb backends can not support
backwards iteration, and because of the above considerations, we are
going to remove the reverse listing feature.

Change-Id: I8d2a1f33d01ee70b79918d584b8c671f57eef2a0
2019-11-12 18:47:51 +00:00
Matt Robinson
28a70200d7
Add stage name to slack error message (#3554) 2019-11-12 13:33:47 -05:00
Andrew Harding
168f72d371
Initialize math/rand default source (#3552) 2019-11-12 10:03:41 -07:00
TopperDEL
39021b9641 lib/uplinkc: add additional fields to UplinkConfig (#3526) 2019-11-12 08:45:40 -08:00
Jeff Wendling
013e0d94bc pkg/rpc: ensure connections are quickly closed
drpc will call Close on any transport we pass to it, but some
transports (like tls.Conn) will attempt to notify the remote
side of things. we don't want to do that, so pass a new
interface that just closes the underlying socket.

Change-Id: I53344d2747de21b3146abe4f82b8394bb8948cb5
2019-11-12 15:53:36 +00:00
Egon Elbre
a01c48f4a5
satellite/rewards: use base32 instead of base64+json (#3522) 2019-11-12 15:43:03 +02:00
Nikolai Siedov
9797f8c49b
satellite/console: service error types added, error handling fixed (#3538) 2019-11-12 15:14:31 +02:00
Nikolai Siedov
70c7ee842e
satellite: adding proper headers to api responses (#3489) 2019-11-12 15:05:35 +02:00
Vitalii Shpital
b2d2377d2e
web/satellite no buckets page reworked (#3419) 2019-11-12 14:44:47 +02:00
Bryan White
7cc4217fef
cmd/storagenode-updater: simplify and reorder update sqeuence (#3487) 2019-11-12 13:31:57 +01:00
Vitalii Shpital
b7a04eb881
web/satellite: saving selected project in local storage implemented (#3470) 2019-11-12 14:14:05 +02:00
Vitalii Shpital
e99af18229
web/storagenode: date and data formating fixed (#3519) 2019-11-12 14:04:54 +02:00
Nikolai Siedov
c1ae8c332f
satellite/console: auth API error handling refactored (#3540) 2019-11-12 13:53:00 +02:00
Bryan White
7355065dc9
pkg/{cfgstruct,identity}: replace seperator in default values when path tag set (#3498) 2019-11-12 12:31:19 +01:00
Yaroslav Vorobiov
36311a3a05
satellite/console: add token deposit API, populate billing history with transactions (#3500) 2019-11-12 13:14:34 +02:00
Michal Niewrzal
89efd17f4d
docs/design: zombie segments cleaner (#3461) 2019-11-12 00:25:51 -08:00
Ivan Fraixedes
6516471cbc
uplink/storage/streams: Upload loop operations reorganization (#3429)
* uplink/storage/streams: Upload loop ops reorganization

  Reorganize the operations of the loop run by streamsStore.upload method
  for not doing unneeded computations on each iteration.

* uplink/storage/streams: Move out returns values declaration

  Move out return values declarations for those which aren't strictly
  needed due to defer statements nor documentation purpose.
2019-11-12 08:30:18 +01:00
Egon Elbre
4b85d3d739
internal/testplanet: better error message when postgres is not defined (#3539) 2019-11-11 17:05:21 +02:00
Egon Elbre
f3e803203b
lib/uplinkc: add clarifying comments to download_read (#3525) 2019-11-11 16:11:37 +02:00
Nikolay Yurchenko
20eef5a20a
sorting header on api keys page styles fixed (#3537) 2019-11-11 15:13:36 +02:00
Nikolay Yurchenko
e065ad0016
detailed usage charges info markup added (#3528) 2019-11-11 13:12:32 +02:00
Kaloyan Raev
20623fdc96
Increase min required difficulty to 36 in signing service (#3535) 2019-11-11 12:27:09 +02:00
Kaloyan Raev
9dce3dc942 installer/windows: unit tests for C# custom actions (part 1) (#3521) 2019-11-09 00:38:06 +01:00
Yingrong Zhao
69b0ae02bf
satellite/gracefulexit: separate functional code in endpoint (#3476) 2019-11-08 13:57:51 -05:00
Nikolay Yurchenko
06a52e75b8
web/satellite: name hint (#3515) 2019-11-08 19:23:01 +02:00
Nikolay Yurchenko
9ce6dad317
web/satellite: usage report date selected date range formatted (#3518) 2019-11-08 18:47:45 +02:00
Nikolay Yurchenko
7ef0bbe00d
credit cards icons selection added (#3527) 2019-11-08 18:36:07 +02:00