Giter Site home page Giter Site logo

macan / pomegranate Goto Github PK

View Code? Open in Web Editor NEW
121.0 121.0 8.0 5.79 MB

An Efficient Distributed File/Blob/Key-Value Store for Billions of Small Files

Home Page: http://github.com/macan/Pomegranate/wiki

C 94.69% Python 3.86% Shell 1.34% C++ 0.11%

pomegranate's People

Contributors

macan avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

pomegranate's Issues

Bug in xnet_simple st_update()

Sometimes, the accepted socket fd can not be set to the table. There is a conflict entry already table, maybe the last broken connection. Check it!

ITB active entry count is incorrect

Under heavy memory pressure, the active entry counter in ITB is not correct.
It is easy to reproduce this bug. Run the API unit test several times, you can got it!

xnet_free_msg() bug

In xnet-simple RESEND mode, there is a race between the reply message and the original xnet_msg, it is hard to trace the calling path.
For now, we just disable the RESEND mode to fix this bug:(

Source file missing from tree

[root@vs1 Pomegranate]# make
make: *** No rule to make target /usr/src/Pomegranate/test/xnet/cr.c', needed byunit_test'. Stop.

itb_dirty assertion failed!

itb_dirty in future access case, we got a assertion failure.
it is related to mds_read_itb() and cbht_itb_miss(), the itb->h.state can be CLEAN.

Crash on gossiping removed directory

[macan@gh01 hvfs]$ *** glibc detected *** /home/macan/hvfs/test/xnet/mds.ut: double free or corruption (!prev): 0x00002aaaac48fce0 ***
======= Backtrace: =========
/lib64/libc.so.6[0x3bab271ce2]
/lib64/libc.so.6[0x3bab2738e2]
/lib64/libc.so.6(realloc+0x1d0)[0x3bab275c30]
/home/macan/hvfs/test/xnet/mds.ut(txg_add_rdir+0x7d)[0x44373d]
/home/macan/hvfs/test/xnet/mds.ut(mds_gossip_rdir+0x1d7)[0x45ba37]
/home/macan/hvfs/test/xnet/mds.ut(mds_mds_dispatch+0x127)[0x464667]
/home/macan/hvfs/test/xnet/mds.ut[0x45d5b2]
/lib64/libpthread.so.0[0x3babe06367]
/lib64/libc.so.6(clone+0x6d)[0x3bab2d2f7d]

MDSL ITB toe lookup failure

The writebacked ITB can not be lookuped in the TOE list.
Maybe the itb counter is not correct or the MDSL code is not correct, should be rechecked!

ITB_JUST_SPLIT Assertion failed

Enable memory limit, run unit test.
After running a few TXGs, mds.ut crashed with ITB reference assertion failure.

It is a conflict between txg_wb() and aur_itb_split(). The usage of itb_put() should be revised.

Hash Imbalance in Postmark Test

Using postmark to test tiny file I/O, we found that the disk usage for each server is imbalance. The largest disk image can be 2 or 3 times of the smallest one. Maybe a new hash function is useful for postmark test.

xTable

How does xtable organize data in the Pomegranate file system? Could you please explain it with a diagram? Thank you very much

PFS fuse client failed with mdtest

macan@MACANA ~/hvfs/working $ git bisect start
macan@MACANA ~/hvfs/working $ git bisect bad
macan@MACANA ~/hvfs/working $ git bisect good 1491353
Bisecting: 24 revisions left to test after this (roughly 5 steps)
[19f1fb1] Finish PFS xattr integrated test case. Seems that it works fine :)
macan@MACANA ~/hvfs/working $ git bisect good 19f1fb1
Bisecting: 12 revisions left to test after this (roughly 4 steps)
[15b2e14] Cleanup c2m.c and remove redundant code, and add fuse client latency distrbution. To use fuse client latency distribution, add 'CFLAGS='-DHVFS_FUSE_STAT'' and 'USE_FUSE=1' before make.
macan@MACANA ~/hvfs/working $ git bisect good 15b2e14
Bisecting: 6 revisions left to test after this (roughly 3 steps)
[ba24348] State checking and corrupt message checking in bitmap gossip
macan@MACANA ~/hvfs/working $ git bisect good
Bisecting: 2 revisions left to test after this (roughly 2 steps)
[2a11fef] Merge fuse microbenchmark from master branch
macan@MACANA ~/hvfs/working $ git bisect good
Bisecting: 0 revisions left to test after this (roughly 1 step)
[97d6bac] Add dbsearch bench, change xattr microbench for fast12 paper.
macan@MACANA ~/hvfs/working $ git bisect bad
Bisecting: 0 revisions left to test after this (roughly 0 steps)
[1d0595a] Internal API bug fix for hvfs_stat()

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.