<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=us-ascii">
<meta name="Generator" content="Microsoft Word 14 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
        {font-family:Calibri;
        panose-1:2 15 5 2 2 2 4 3 2 4;}
@font-face
        {font-family:Tahoma;
        panose-1:2 11 6 4 3 5 4 4 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
        {margin:0in;
        margin-bottom:.0001pt;
        font-size:12.0pt;
        font-family:"Times New Roman","serif";}
a:link, span.MsoHyperlink
        {mso-style-priority:99;
        color:blue;
        text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
        {mso-style-priority:99;
        color:purple;
        text-decoration:underline;}
span.hoenzb
        {mso-style-name:hoenzb;}
span.EmailStyle18
        {mso-style-type:personal-reply;
        font-family:"Calibri","sans-serif";
        color:#1F497D;}
.MsoChpDefault
        {mso-style-type:export-only;
        font-family:"Calibri","sans-serif";}
@page WordSection1
        {size:8.5in 11.0in;
        margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
        {page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang="EN-US" link="blue" vlink="purple">
<div class="WordSection1">
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D">Cleanest way seems to use uuid for resource-id.<o:p></o:p></span></p>
<p class="MsoNormal"><span style="font-size:11.0pt;font-family:"Calibri","sans-serif";color:#1F497D"><o:p> </o:p></span></p>
<p class="MsoNormal"><b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif"">From:</span></b><span style="font-size:10.0pt;font-family:"Tahoma","sans-serif""> Doug Hellmann [mailto:doug.hellmann@dreamhost.com]
<br>
<b>Sent:</b> Friday, November 16, 2012 3:11 PM<br>
<b>To:</b> openstack-dev@lists.openstack.org; Doug Hellmann<br>
<b>Subject:</b> Re: [openstack-dev] [ceilometer] Possible issue with MongoDB storage resource ID<o:p></o:p></span></p>
<p class="MsoNormal"><o:p> </o:p></p>
<p class="MsoNormal" style="margin-bottom:12.0pt"><o:p> </o:p></p>
<div>
<p class="MsoNormal">On Fri, Nov 16, 2012 at 8:57 AM, Julien Danjou <<a href="mailto:julien@danjou.info" target="_blank">julien@danjou.info</a>> wrote:<o:p></o:p></p>
<p class="MsoNormal">Hi,<br>
<br>
I was working on fixing a bug in the API, and wrote a test that<br>
unexpectedly failed.<br>
<br>
Digging, I've discovered that it's currently a problem on how the<br>
MongoDB storage handles its `resource' collection: you can't have 2<br>
resource with the same id even if they came from 2 different sources.<br>
Meaning that if you record:<br>
<br>
  Counter(source='abc', resource_id='foobar')<br>
  Counter(source='def', resource_id='foobar')<br>
<br>
You'll end up with the 'source' field being overwritte because the<br>
resource collection use resource_id as its MongoDB _id field.<br>
<br>
So in the end, the request '/sources/abc/resources/foobar' returns<br>
nothing.<br>
<br>
This seems like a bug to me, because I easily imagine external systems<br>
with different source values having resource-id that can collide,<br>
because they're not UUID or the like.<br>
<br>
Doug, what's your opinion this, and how to fix it?<o:p></o:p></p>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">I'm not sure we can tell, from the inside of ceilometer, what a unique identifier for a resource described by a given meter event should be. I think the intent was that the sender would do whatever was necessary to ensure it was unique.
 If the sender is concerned about collisions, it could prefix the resource id with some constant identifying the sender.<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal">Doug<o:p></o:p></p>
</div>
<div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
<div>
<p class="MsoNormal"> <o:p></o:p></p>
</div>
<blockquote style="border:none;border-left:solid #CCCCCC 1.0pt;padding:0in 0in 0in 6.0pt;margin-left:4.8pt;margin-right:0in">
<p class="MsoNormal"><span style="color:#888888"><br>
<span class="hoenzb">--</span><br>
<span class="hoenzb">Julien Danjou</span><br>
<span class="hoenzb"># Free Software hacker & freelance</span><br>
<span class="hoenzb"># <a href="http://julien.danjou.info" target="_blank">http://julien.danjou.info</a></span></span><o:p></o:p></p>
</blockquote>
</div>
<p class="MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>