sandstorm-io / blackrock Goto Github PK
View Code? Open in Web Editor NEWCluster management
License: Apache License 2.0
Cluster management
License: Apache License 2.0
This won't work, because you can't merge a demo account with an existing account. Unfortunately, there are two big usability problems here:
Steps to reproduce:
/account
Expected behavior:
Actual behavior:
cc: @neynah who mentioned this recently
Specifically Meteor.user().profile.email
is broken (see
Currently, updating Oasis requires ~10 minutes of downtime and happens approximately weekly. Eventually, we will implement zero-downtime rolling updates. For now, downtime alerts may link to this issue.
To find out what's changing, compare the Sandstorm changelog with the current Oasis version listed on the Oasis about page.
I think it would be great to be able to integrate this with OpenStack.
The problem is:
grain
with the grain ID set.save()
ends up requesting that the saved capability be sealed for the grain with ID grainid-not-applicable
.restore()
ed later.I left a tab with Oasis open, with a single Wekan grain open, and didn't look at it for a while. I suspend/resumed my laptop, biked home, changed networks, and when I looked back at the tab in question, I see this exception:
Error: Error: remote exception: remote exception: remote exception: remote exception: remote exception: Assignable modified concurrently
C++ location:(javascript):??
type: disconnected
A little digging suggests this is from https://github.com/sandstorm-io/blackrock/blob/master/src/blackrock/fs-storage.c%2B%2B#L1559..L1575 :
if (expectedVersion > 0) {
if (object.version != expectedVersion) {
return KJ_EXCEPTION(DISCONNECTED, "Assignable modified concurrently");
}
++expectedVersion;
}
We can probably get a way with creating small journals for our ext4 images, which might make users happier as there isn't a weird hidden storage cost while the grain is running.
Under the old UI, the storage usage number above the grain list updated more proactively than it does under the new UI. I think I had designed it to query for an update every time the user visited the grain list. (The storage usage number stored in Mongo can be stale -- the backend has the right number, but does not publish it reactively, so it needs to be queried from time to time.)
I'm having trouble reproducing this right now, but earlier today I was repeatedly hitting this test failure:
blackrock/fs-storage.c++:2123: failed: expected journal.openObject(id, xattr) != nullptr; object not found
stack: 0x4a105d 0x4400ab 0x440109 0x4e9d8d 0x495022 0x4e95a0 0x4e6410 0x4eb1f0 0x4ea590 0x4ec380 0x488d70 0x48ec8c 0x47e425 0x4d2570
[ FAIL ] fs-storage-test.c++:99: basic assignables
[ TEST ] fs-storage-test.c++:158: use after reload
blackrock/fs-storage-test.c++:164: failed: expected value.getText() == "bar"
stack: 0x4904f5 0x47c70a 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
:0: failed: Called null capability.
stack: 0x488d70 0x48ec8c 0x47c805 0x4d2570
[ FAIL ] fs-storage-test.c++:158: use after reload
[ TEST ] fs-storage-test.c++:185: delete some children
blackrock/fs-storage-test.c++:194: failed: expected sandstorm::listDirectoryFd(main).size() == 4
stack: 0x48bcf5 0x47a423 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
blackrock/fs-storage-test.c++:207: failed: expected size == 4096 * 2; size = 4096
stack: 0x48f7bf 0x47ab74 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
blackrock/fs-storage-test.c++:216: failed: expected sandstorm::listDirectoryFd(main).size() == 2
stack: 0x48bcf5 0x47adb2 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
:0: failed: Called null capability.
stack: 0x487db0 0x48f0fc 0x47b0e5 0x4d2570
[ FAIL ] fs-storage-test.c++:185: delete some children
[ TEST ] fs-storage-test.c++:242: delete volume child while still writing
blackrock/fs-storage-test.c++:251: failed: expected sandstorm::listDirectoryFd(main).size() == 2
stack: 0x48bcf5 0x4772b3 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
blackrock/fs-storage-test.c++:280: failed: expected size == 4096 * 2; size = 4096
stack: 0x48f7bf 0x478454 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
blackrock/fs-storage-test.c++:287: failed: expected sandstorm::listDirectoryFd(main).size() == 2
stack: 0x48bcf5 0x4785aa 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
blackrock/fs-storage-test.c++:301: failed: expected root.getStorageUsageRequest().send().wait(env.io.waitScope).getTotalBytes() == 4096*2
stack: 0x48fd65 0x4789ab 0x4d2570 0x49b78a 0x4d1cf4 0x4d1aad 0x4c810f 0x49b78a 0x4c632c 0x4d0e12 0x7f8b12cb3a40 0x4079a9
make bundle
...
==== convert icons/share.svg ====
==== convert icons/close.svg ====
==== convert icons/menu.svg ====
make[1]: *** No rule to make target 'CHANGELOG.md', needed by 'shell/client/changelog.html'. Stop.
make[1]: Leaving directory '/home/zarvox/git/blackrock'
Makefile:30: recipe for target 'bundle' failed
make: *** [bundle] Error 2
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.