<div dir="ltr">Maybe the longer-term solution would be a taggable key-value store? Either generic or dedicated...</div><div class="gmail_extra"><br><div class="gmail_quote">On Tue, Mar 28, 2017 at 3:04 PM, Michael Burman <span dir="ltr">&lt;<a href="mailto:miburman@redhat.com" target="_blank">miburman@redhat.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I don&#39;t think Cassandra supports that. If there&#39;s a table TTL, one needs<br>
to set a TTL to override the default expiry.<br>
<br>
   - Micke<br>
<div class="HOEnZb"><div class="h5"><br>
<br>
On 03/28/2017 03:34 PM, John Mazzitelli wrote:<br>
&gt; how about make a value -2 meaning &quot;no TTL at all - ignore even the table TTL&quot;<br>
&gt;<br>
&gt; ----- Original Message -----<br>
&gt;&gt; Hi,<br>
&gt;&gt;<br>
&gt;&gt; If you use TTL -1 in current Hawkular-Metrics, we will write without<br>
&gt;&gt; setting TTL information. At that point the table TTL will be used (if<br>
&gt;&gt; such is set).<br>
&gt;&gt;<br>
&gt;&gt;     -  Micke<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; On 03/28/2017 11:36 AM, Joel Takvorian wrote:<br>
&gt;&gt;&gt; It could be interesting to have the possibility to deactivate TTL (for<br>
&gt;&gt;&gt; instance by setting a negative value, without any change in the<br>
&gt;&gt;&gt; existing API for that) but for the time being we could have the<br>
&gt;&gt;&gt; workaround of setting an arbitrary high value, no?<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Concerning the time range, at some point I was using &quot;fromEarliest:<br>
&gt;&gt;&gt; true&quot;, &quot; order: desc&quot; and &quot;limit:1&quot; ... It seems that it could also be<br>
&gt;&gt;&gt; used here.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Joel<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; Le 28 mars 2017 08:18, &quot;John Sanda&quot; &lt;<a href="mailto:jsanda@redhat.com">jsanda@redhat.com</a><br>
&gt;&gt;&gt; &lt;mailto:<a href="mailto:jsanda@redhat.com">jsanda@redhat.com</a>&gt;&gt; a écrit :<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;      My first thought was a string metric where data points are the<br>
&gt;&gt;&gt;      servers that get discovered. There are a couple things though that<br>
&gt;&gt;&gt;      I do not like about this. First, all data point queries in<br>
&gt;&gt;&gt;      hawkular-metrics have a date range. Having to use a date range<br>
&gt;&gt;&gt;      here seems a bit awkward. Secondly all data points in<br>
&gt;&gt;&gt;      hawkular-metrics expire. These does not seem like data that we<br>
&gt;&gt;&gt;      would want to expire.<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      On Mar 27, 2017, at 5:02 PM, Jay Shaughnessy &lt;<a href="mailto:jshaughn@redhat.com">jshaughn@redhat.com</a><br>
&gt;&gt;&gt;&gt;      &lt;mailto:<a href="mailto:jshaughn@redhat.com">jshaughn@redhat.com</a>&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      i was thinking, perhaps it&#39;s not even necessary to involve<br>
&gt;&gt;&gt;&gt;      inventory to know if the server was reported or not.  We define<br>
&gt;&gt;&gt;&gt;      metrics, like avail, for these root types, I think.  At startup<br>
&gt;&gt;&gt;&gt;      if the metric existed perhaps you could assume it was already<br>
&gt;&gt;&gt;&gt;      reported, otherwise you could send a &quot;new server&quot; event.  Would<br>
&gt;&gt;&gt;&gt;      that approach fly or be easier?<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;      On 3/27/2017 12:40 PM, Joel Takvorian wrote:<br>
&gt;&gt;&gt;&gt;&gt;      For point 1., we can probably use some functions I wrote in the<br>
&gt;&gt;&gt;&gt;&gt;      integration tests, see there:<br>
&gt;&gt;&gt;&gt;&gt;      <a href="https://github.com/jotak/hawkular-agent/blob/inventory-strings/hawkular-agent-itest-util/src/main/java/org/hawkular/agent/itest/util/ITestHelper.java" rel="noreferrer" target="_blank">https://github.com/jotak/<wbr>hawkular-agent/blob/inventory-<wbr>strings/hawkular-agent-itest-<wbr>util/src/main/java/org/<wbr>hawkular/agent/itest/util/<wbr>ITestHelper.java</a><br>
&gt;&gt;&gt;&gt;&gt;      &lt;<a href="https://github.com/jotak/hawkular-agent/blob/inventory-strings/hawkular-agent-itest-util/src/main/java/org/hawkular/agent/itest/util/ITestHelper.java" rel="noreferrer" target="_blank">https://github.com/jotak/<wbr>hawkular-agent/blob/inventory-<wbr>strings/hawkular-agent-itest-<wbr>util/src/main/java/org/<wbr>hawkular/agent/itest/util/<wbr>ITestHelper.java</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;      I assume you can build a canonical path? (The same &quot;canonical<br>
&gt;&gt;&gt;&gt;&gt;      path&quot; than in the existing inventory) If so, the method<br>
&gt;&gt;&gt;&gt;&gt;      &quot;getBlueprintFromCP&quot; gives it to you as an Optional blueprint.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;      On Mon, Mar 27, 2017 at 5:00 PM, John Mazzitelli<br>
&gt;&gt;&gt;&gt;&gt;      &lt;<a href="mailto:mazz@redhat.com">mazz@redhat.com</a> &lt;mailto:<a href="mailto:mazz@redhat.com">mazz@redhat.com</a>&gt;&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          &lt;tl;dr&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          Need ideas on how we are to implement the following two<br>
&gt;&gt;&gt;&gt;&gt;          things in the agent:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          1. At startup, agent needs to ask H-Metrics &quot;what top-level<br>
&gt;&gt;&gt;&gt;&gt;          servers have I told you about in an earlier life?&quot;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          2. When a new server is discovered, the agent should send an<br>
&gt;&gt;&gt;&gt;&gt;          event to the server about the new server EXCEPT if the<br>
&gt;&gt;&gt;&gt;&gt;          server isn&#39;t really new at all (see 1. above)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          &lt;/tl;dr&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          ===<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          This post is to open up a discussion on how we want to<br>
&gt;&gt;&gt;&gt;&gt;          implement a new features in the agent.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          Joel is developing a new &quot;inventory in metrics&quot; feature:<br>
&gt;&gt;&gt;&gt;&gt;          <a href="https://github.com/hawkular/hawkular-agent/pull/303" rel="noreferrer" target="_blank">https://github.com/hawkular/<wbr>hawkular-agent/pull/303</a><br>
&gt;&gt;&gt;&gt;&gt;          &lt;<a href="https://github.com/hawkular/hawkular-agent/pull/303" rel="noreferrer" target="_blank">https://github.com/hawkular/<wbr>hawkular-agent/pull/303</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          This means the agent will be storing inventory directly into<br>
&gt;&gt;&gt;&gt;&gt;          Hawkular-Metrics. Because of this, we need to figure out how<br>
&gt;&gt;&gt;&gt;&gt;          to get events sent based on things happening in H-Metric&#39;s<br>
&gt;&gt;&gt;&gt;&gt;          inventory so MiQ can do things with it (like put things in<br>
&gt;&gt;&gt;&gt;&gt;          the timeline such as &quot;new server discovered&quot; or &quot;new WAR was<br>
&gt;&gt;&gt;&gt;&gt;          deployed&quot;).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          Jay looked at the code and the only thing that would be<br>
&gt;&gt;&gt;&gt;&gt;          &quot;missing&quot; after this move of inventory into metrics is an<br>
&gt;&gt;&gt;&gt;&gt;          event triggered when a new server is added to inventory.<br>
&gt;&gt;&gt;&gt;&gt;          (When a new deployment is added, or a deployment is removed,<br>
&gt;&gt;&gt;&gt;&gt;          the server is looking at command responses and generating<br>
&gt;&gt;&gt;&gt;&gt;          events from that - so we don&#39;t lose anything by moving<br>
&gt;&gt;&gt;&gt;&gt;          inventory into metrics).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          By &quot;new server&quot;, what we mean is a new resource that has no<br>
&gt;&gt;&gt;&gt;&gt;          parent resources (i.e. a &quot;root resource&quot;). This includes<br>
&gt;&gt;&gt;&gt;&gt;          standalone WildFly Servers and domain Host Controllers.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          Right now, the agent starts with a &quot;clean slate&quot; when it<br>
&gt;&gt;&gt;&gt;&gt;          starts up for the first time, or restarts. That means the<br>
&gt;&gt;&gt;&gt;&gt;          agent&#39;s in-memory inventory graph is completely empty at<br>
&gt;&gt;&gt;&gt;&gt;          startup - when discovery is run, the agent&#39;s internal<br>
&gt;&gt;&gt;&gt;&gt;          inventory graph is filled in. After that, the agent just<br>
&gt;&gt;&gt;&gt;&gt;          keeps the inventory graph up to date as it discovers new<br>
&gt;&gt;&gt;&gt;&gt;          things coming and old things going away.<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          We need the agent to know if it already stored its top level<br>
&gt;&gt;&gt;&gt;&gt;          servers into H-Metrics inventory and if it did, not to<br>
&gt;&gt;&gt;&gt;&gt;          generate any &quot;new server event&quot;. But if the agent is brand<br>
&gt;&gt;&gt;&gt;&gt;          new, and it never sent any top-level resources to H-Metrics<br>
&gt;&gt;&gt;&gt;&gt;          inventory yet, it should now send a &quot;new server&quot; event to<br>
&gt;&gt;&gt;&gt;&gt;          the server (the agent never sent events like this before).<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          So there are two new things (assuming we keep the stuff Joel<br>
&gt;&gt;&gt;&gt;&gt;          is doing - that is, we store inventory into H-Metrics):<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          1. At startup, agent needs to ask H-Metrics &quot;what top-level<br>
&gt;&gt;&gt;&gt;&gt;          servers have I told you about in an earlier life?&quot;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          2. When a new server is discovered, the agent should send an<br>
&gt;&gt;&gt;&gt;&gt;          event (whatever this means - probably a REST API call<br>
&gt;&gt;&gt;&gt;&gt;          somewhere) about the new server EXCEPT if the server isn&#39;t<br>
&gt;&gt;&gt;&gt;&gt;          really new at all (see 1. above)<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;          We need to figure out how to implement 1. and 2. So we are<br>
&gt;&gt;&gt;&gt;&gt;          soliciting thoughts on those two subjects.<br>
&gt;&gt;&gt;&gt;&gt;          ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt;&gt;          hawkular-dev mailing list<br>
&gt;&gt;&gt;&gt;&gt;          <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt;&gt;          &lt;mailto:<a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.<wbr>jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;          <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
&gt;&gt;&gt;&gt;&gt;          &lt;<a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;      ______________________________<wbr>_________________<br>
&gt;&gt;&gt;&gt;&gt;      hawkular-dev mailing list<br>
&gt;&gt;&gt;&gt;&gt;      <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a> &lt;mailto:<a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.<wbr>jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt;&gt;      <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
&gt;&gt;&gt;&gt;&gt;      &lt;<a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a>&gt;<br>
&gt;&gt;&gt;&gt;      ______________________________<wbr>_________________ hawkular-dev<br>
&gt;&gt;&gt;&gt;      mailing list <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;&gt;      &lt;mailto:<a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.<wbr>jboss.org</a>&gt;<br>
&gt;&gt;&gt;&gt;      <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
&gt;&gt;&gt;&gt;      &lt;<a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a>&gt;<br>
&gt;&gt;&gt;      ______________________________<wbr>_________________ hawkular-dev<br>
&gt;&gt;&gt;      mailing list <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
&gt;&gt;&gt;      &lt;mailto:<a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.<wbr>jboss.org</a>&gt;<br>
&gt;&gt;&gt;      <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
&gt;&gt;&gt;      &lt;<a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a>&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt;&gt; hawkular-dev mailing list<br>
&gt;&gt;&gt; <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
&gt;&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
&gt;&gt; ______________________________<wbr>_________________<br>
&gt;&gt; hawkular-dev mailing list<br>
&gt;&gt; <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
&gt;&gt; <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
&gt;&gt;<br>
&gt; ______________________________<wbr>_________________<br>
&gt; hawkular-dev mailing list<br>
&gt; <a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
&gt; <a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
<br>
______________________________<wbr>_________________<br>
hawkular-dev mailing list<br>
<a href="mailto:hawkular-dev@lists.jboss.org">hawkular-dev@lists.jboss.org</a><br>
<a href="https://lists.jboss.org/mailman/listinfo/hawkular-dev" rel="noreferrer" target="_blank">https://lists.jboss.org/<wbr>mailman/listinfo/hawkular-dev</a><br>
</div></div></blockquote></div><br></div>