Warm a SAM pool

One way to reduce the amount of time it takes to retrieve results from the 1010data Insights Platform is to "warm" the SAM pool by logging in IDs ahead of time.

The WarmPool function logs in available SAM pool user IDs. Additionally, when warming the pool you can provide queries to run on the IDs when they are logged in. This can speed the retrieval of results for users.

The WarmPool function takes the following parameters:
  • URI (gateway)
  • Group owner name (owner)
  • Group ID (group)
  • Group owner password (password)
WarmPool(gateway, owner, group, password)

You can run WarmPool without logging in or from a session that is logged in, in which case, you will not have to re-input your information (gateway, owner, group, and password) again.

The used IDs should be released at the end of their activity with the platform. When they are released, they are not warmed automatically.

The example below uses WarmPool to warm the SAM pool and Query to provide a query:


using System;
using System.Linq;
using TenTenSDK;

public class DocumentationExample
{
  public static void PrintTable(Session testSession, String path) {
    Query xmplQuery = new Query(path,"");
    using (Table resultTable = testSession.RunQuery(xmplQuery)) {
      Console.WriteLine(String.Join("\t",
      resultTable.Columns.Select(c => c.Info.ComponentType)));
    }
  }
  public static void Main() {
    Uri gateway = new Uri("http://www2.1010data.com/prod-latest/gw");
    String owner = "USERNAME";
    String pwd = "PASSWORD";
    String group = "GROUP";
    String path = "pub.demo.weather.stations";
    Session session=null;

    var qqs = new Query[2];

    qqs[0] = new Query("pub.demo.weather.stations",
                        "<sel value=\"elev&lt;100\"/>");
    qqs[1] = new Query("pub.demo.weather.conditions", "woop");
    try
    {
      int i =  Session.WarmPool(gateway, owner, group, pwd, qqs);
      Console.WriteLine("Back now");
        Console.WriteLine("Got {0}",i);
    }
    catch (TenTenSDK.Exceptions.TenTenException e)
    {
        Console.WriteLine("Exception caught: {0}", e);
    }
    Console.WriteLine("Done now, hit enter.");
    String q9 = Console.ReadLine();
  }
}
Note: USERNAME, GROUP, and PASSWORD are placeholders for valid Insights Platform group owner name. group name, and password.