protected void RiakMinVersion(ushort major, ushort minor, ushort build) { if (client == null) { throw new InvalidOperationException("Expected a client!"); } if (riakVersion == null) { var serverInfo = new FetchServerInfo(); RiakResult rslt = client.Execute(serverInfo); Assert.IsTrue(rslt.IsSuccess, rslt.ErrorMessage); var serverVersion = serverInfo.Response.Value.ServerVersion; if (!Version.TryParse(serverVersion, out riakVersion)) { Assert.Fail("Could not parse server version: {0}", serverVersion); } } if (!(riakVersion.Major >= major && riakVersion.Minor >= minor && riakVersion.Build >= build)) { Assert.Pass("Test requires a newer version of Riak. Skipping!"); } }
private static void FetchServerInfo() { Console.WriteLine("[ChaosMonkeyApp] fetch server info thread starting"); IRiakClient client = cluster.CreateClient(); try { while (true) { var cmd = new FetchServerInfo(); var rslt = client.Execute(cmd); if (rslt.IsSuccess) { var rsp = cmd.Response; var n = rsp.Value.Node; var v = rsp.Value.ServerVersion; // Console.WriteLine("[ChaosMonkeyApp] got server info: {0}, {1}", n, v); } else { Console.WriteLine("[ChaosMonkeyApp] error getting server info: {0}", rslt.ErrorMessage); } Thread.Sleep(fetchDataInterval); ct.ThrowIfCancellationRequested(); } } finally { Console.WriteLine("[ChaosMonkeyApp] fetch server info thread stopping"); } }