Skip to content
Kiyoshi Ikehara edited this page May 16, 2013 · 1 revision

flare

rough note for developer(= me)

  • check procs around an iteration lock
  • index server failover
  • shrink partition support
  • fix deamonize sequence
    • restart very frequently fails due to index node cannot detect node down → update error messages
    • send node state=down messages in case of graceful shutdown (not yet confirmed)
  • connection::write() does not retry in case of EAGAIN w/ specific case (not yet verified)
  • queue retry/failover architecture (this should be very important to achieve complete redundncy, robustness and reliability)
    • update logs
    • queue failure logs
    • re-queue in case of node down detection
  • threads per request → libevent
  • file system implementation w/ FUSE
  • on memory storage (like memcached)
  • luxio storage
  • think about table database
  • support other data models (e.g. key:value = 1:n, something like redis)
  • more flexible distribution (algorithm based w/ arbitary weight for each node, mapping based…)
  • standby for index server
  • reliable client library
  • performance tunes (get rid of shared_ptr, and bogus memory copies)
  • doc comments

archive (anyway)

  • monitoring thread (handler_monitor in lib) (thread_type=thread_type_monitor)
    • adding monitor-interval (sec)
    • monitoring thread waits for monitor-interval sec w/ thread::queue_wait() (or something like that) – pthread_cond_timedwait()
    • if timedout, send ping and if not, do somes ops according to queue
  • queue framework in thread (pass derived thread_queue object and down cast w/ dynamic_cast)
    • (perhaps) I do not pass op objects directly to thread queue
    • queue object will be handled w/ shared_ptr
  • implement “stats nodes”
  • implement “stats monitors”(i do not need this, anyway)
  • state=(active|standby|…?)
  • adding role=(master|slave|proxy…)
  • log message clean up (defered:)
  • handling node down/up event
  • “node role” op
  • “node state” op
  • “node remove” op
  • “set” op
  • “get” op
  • “delete” op
  • “add” op
  • “replace” op
  • “cas” op
  • “incr” op
  • “decr” op
  • “vervosity” op
  • implement proxy framework (w/ proxy-concurrency ini option)
  • node reconstruction
  • support read only activate of new partition
  • fix delete op (a little bit…)
  • stress tests (and debug)
  • stats update hooks
  • 64 bit fixes
  • tchoptimize/tchtune support
  • mysql replication (experimental)
  • documentation (in english) (anyway)
  • index server stalls when one or mode node get network-unreachable(like “no route to host”)? – more investigation required
  • key dump op
  • support uds
  • fix dynamic key balancing algorithm
  • stats threads causes segfault under heavy load (→ perhaps fixed but not yet verified)
  • tcb storage
  • management tools
    • slave delay detection
  • first proxy request sometimes slow down
Clone this wiki locally