XL: GetObject caching implemented for XL. (#2017)

The object cache implementation is XL cache, which defaults
to 8GB worth of read cache. Currently GetObject() transparently
writes to this cache upon first client read and then subsequently
serves reads from the same cache.

Currently expiration is not implemented.
This commit is contained in:
Harshavardhana
2016-07-03 16:58:21 -07:00
parent 8d4365d23c
commit d2557bb538
12 changed files with 730 additions and 37 deletions

View File

@@ -16,9 +16,7 @@
package main
import (
. "gopkg.in/check.v1"
)
import . "gopkg.in/check.v1"
type ObjectLayerAPISuite struct{}
@@ -28,6 +26,7 @@ var _ = Suite(&ObjectLayerAPISuite{})
func (s *ObjectLayerAPISuite) TestFSAPISuite(c *C) {
// Initialize name space lock.
initNSLock()
// function which creates a temp FS backend and executes the object layer suite test.
execObjectLayerSuiteTestFS := func(objSuiteTest objSuiteTestType) {
// create temp object layer backend.
@@ -51,6 +50,7 @@ type objSuiteTestType func(c *C, obj ObjectLayer)
func (s *ObjectLayerAPISuite) TestXLAPISuite(c *C) {
// Initialize name space lock.
initNSLock()
// function which creates a temp XL backend and executes the object layer suite test.
execObjectLayerSuiteTestXL := func(objSuiteTest objSuiteTestType) {
// create temp object layer backend.