/** * @param \Kbrw\RiakBundle\Model\Cluster\Cluster $cluster * @param \Kbrw\RiakBundle\Model\Bucket\Bucket $bucket * @param \Kbrw\RiakBundle\Model\Search\Query $query * @return array<string,string> */ public function getConfig($cluster, $bucket, $query) { $config = $query->getConfig(); $config["protocol"] = $cluster->getProtocol(); $config["domain"] = $cluster->getDomain(); $config["port"] = $cluster->getPort(); $config["bucket"] = $bucket->getName(); return $config; }
/** * @param \Kbrw\RiakBundle\Model\Cluster\Cluster $cluster * @param \Kbrw\RiakBundle\Model\Bucket\Bucket $bucket * @return array<string,string> */ public function getConfig($cluster, $bucket, $r = null, $w = null, $dw = null) { $config = array(); $config["protocol"] = $cluster->getProtocol(); $config["domain"] = $cluster->getDomain(); $config["port"] = $cluster->getPort(); $config["bucket"] = $bucket->getName(); $config["r"] = $r; $config["w"] = $w; $config["dw"] = $dw; return $config; }
/** * @test */ public function saveBucketProperties() { $this->bucket->getProps()->setNVal(5); $this->assertTrue($this->bucket->save()); $this->assertEquals(5, $this->cluster->bucketProperties($this->bucket->getName())->getProps()->getNVal()); }
/** * @param \Kbrw\RiakBundle\Model\Cluster\Cluster $cluster * @param \Kbrw\RiakBundle\Model\Bucket\Bucket $bucket * @return boolean */ public function save($cluster, $bucket) { $request = $this->getClient($cluster->getGuzzleClientProviderService(), $this->getConfig($cluster, $bucket->getName(), null))->put(); try { $extra = array("method" => "PUT"); $ts = microtime(true); $request->setBody($this->serializer->serialize($bucket, "json")); $extra["serialization_time"] = microtime(true); -$ts; $request->setHeader("Content-Type", "application/json"); $response = $request->send(); $this->logResponse($response, $extra); return $response->getStatusCode() == "204"; } catch (CurlException $e) { $this->logger->err("Riak is unavailable" . $e->getMessage()); throw new RiakUnavailableException(); } catch (\Exception $e) { $this->logger->err("Error while setting properties on bucket '" . $bucket->getName() . "'. Full message is : " . $e->getMessage()); } return false; }