Skip to content

srmadscience/lrucache_sdk

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

README

This README would normally document whatever steps are necessary to get your application up and running.

What is this repository for?

How do I get set up?

  • Summary of set up
  • Configuration
  • Dependencies
  • Database configuration
  • How to run tests
  • Deployment instructions

Task list for adding a new DB for LRU / UpsertExport

Assuming your target DB is called 'genericDB':

  • Create a new github project called 'genericDBUtil'
  • Create a Java class called 'org.voltdb.seutils.wranglers.genericDB.GenericDBWrangler' that implements org.voltdb.seutils.wranglers.DatabaseWranglerIFace .

Writing LRU server side code

Rule 1: It's not as easy as you think. Rule 2: See Rule 1.

LAST_USE_DATE and LAST_FLUSH_DATE

You can't delete and flush at the same time

Things to test

Assumption: You are testing our LRU cache in conjunction with our upsert subsystem.

As a general rule VoltDB is much faster than everything else.

The 'happy path' is relatively easy. Special scenarios that aren't obvious are:

Downstream DB server goes offline
  • VoltDB must cope gracefully, measure errors and not flood the volt.log with crap.
  • Upsert process must re-connect when DB comes back on line.
  • Upsert process must not lose data while DB is off line.
  • Failure of downstream DB should not propagate back up to VoltDB
Downstream DB server is overloaded
  • VoltDB must cope gracefully, measure errors and not flood the volt.log with crap.
  • VoltDB must recover gracefully when downstream DB is better able to cope.
  • Upsert process must not lose data while DB is off line.
  • Failure of downstream DB should not propagate back up to VoltDB
  • LRU client must either reject requests when overloaded.
VoltDB is overloaded
  • VoltDB must cope gracefully, measure errors and not flood the volt.log with crap.
  • VoltDB must recover gracefully when it is better able to cope.
  • Upsert process must not lose data.
  • LRU client must either reject requests when overloaded.

Who do I talk to?

  • Repo owner or admin
  • Other community or team contact

About

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages