<!-- 
RSS generated by JIRA (9.4.14#940014-sha1:734e6822bbf0d45eff9af51f82432957f73aa32c) at Sat Feb 10 01:58:33 UTC 2024

It is possible to restrict the fields that are returned in this document by specifying the 'field' parameter in your request.
For example, to request only the issue key and summary append 'field=key&field=summary' to the URL of your request.
-->
<rss version="0.92" >
<channel>
    <title>Whamcloud Community JIRA</title>
    <link>https://jira.whamcloud.com</link>
    <description>This file is an XML representation of an issue</description>
    <language>en-us</language>    <build-info>
        <version>9.4.14</version>
        <build-number>940014</build-number>
        <build-date>05-12-2023</build-date>
    </build-info>


<item>
            <title>[LU-6246] Add a JSON decoder</title>
                <link>https://jira.whamcloud.com/browse/LU-6246</link>
                <project id="10000" key="LU">Lustre</project>
                    <description>&lt;p&gt;For the HSM migration enhancement (&lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6081&quot; title=&quot;hsm: add file migrate support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6081&quot;&gt;LU-6081&lt;/a&gt;), it would be nice to be able to transfer data (stripe informaton and mdt_index) between lfs and the copytool in an exchange format, namely JSON.&lt;/p&gt;

&lt;p&gt;The current liblustreapi_json.c can only encode JSON. Use the CCAN (Comprehensive C Archive Network) JSON which it relatively small, can encode/decode, and has a decent testsuite.&lt;/p&gt;

&lt;p&gt;Replace liblustreapi_json.c with the new implementation.&lt;/p&gt;</description>
                <environment></environment>
        <key id="28704">LU-6246</key>
            <summary>Add a JSON decoder</summary>
                <type id="2" iconUrl="https://jira.whamcloud.com/secure/viewavatar?size=xsmall&amp;avatarId=11311&amp;avatarType=issuetype">New Feature</type>
                                            <priority id="4" iconUrl="https://jira.whamcloud.com/images/icons/priorities/minor.svg">Minor</priority>
                        <status id="5" iconUrl="https://jira.whamcloud.com/images/icons/statuses/resolved.png" description="A resolution has been taken, and it is awaiting verification by reporter. From here issues are either reopened, or are closed.">Resolved</status>
                    <statusCategory id="3" key="done" colorName="success"/>
                                    <resolution id="10200">Won&apos;t Do</resolution>
                                        <assignee username="wc-triage">WC Triage</assignee>
                                    <reporter username="fzago">Frank Zago</reporter>
                        <labels>
                    </labels>
                <created>Fri, 13 Feb 2015 23:20:11 +0000</created>
                <updated>Fri, 2 Nov 2018 00:27:22 +0000</updated>
                            <resolved>Fri, 2 Nov 2018 00:27:22 +0000</resolved>
                                    <version>Lustre 2.8.0</version>
                                                        <due></due>
                            <votes>0</votes>
                                    <watches>8</watches>
                                                                            <comments>
                            <comment id="107010" author="gerrit" created="Fri, 13 Feb 2015 23:57:10 +0000"  >&lt;p&gt;frank zago (fzago@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13770&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13770&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6246&quot; title=&quot;Add a JSON decoder&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6246&quot;&gt;&lt;del&gt;LU-6246&lt;/del&gt;&lt;/a&gt; utils: add CCAN JSON parser / emitter from&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: fb7008342fa71cc919a1c743f304fa053fdaac65&lt;/p&gt;</comment>
                            <comment id="107011" author="gerrit" created="Fri, 13 Feb 2015 23:57:11 +0000"  >&lt;p&gt;frank zago (fzago@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13771&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13771&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6246&quot; title=&quot;Add a JSON decoder&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6246&quot;&gt;&lt;del&gt;LU-6246&lt;/del&gt;&lt;/a&gt; tests: add CCAN Test Framework from CCAN&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 0db83eecf2101326b1e7c7ea23a13f8e3f94646f&lt;/p&gt;</comment>
                            <comment id="107012" author="gerrit" created="Fri, 13 Feb 2015 23:57:12 +0000"  >&lt;p&gt;frank zago (fzago@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13772&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13772&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6246&quot; title=&quot;Add a JSON decoder&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6246&quot;&gt;&lt;del&gt;LU-6246&lt;/del&gt;&lt;/a&gt; tests: integrate CCAN JSON&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: a46eae5c5712bfd6be1071f999a42a1464a59638&lt;/p&gt;</comment>
                            <comment id="107013" author="gerrit" created="Fri, 13 Feb 2015 23:57:12 +0000"  >&lt;p&gt;frank zago (fzago@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13773&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13773&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6246&quot; title=&quot;Add a JSON decoder&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6246&quot;&gt;&lt;del&gt;LU-6246&lt;/del&gt;&lt;/a&gt; tests: split JSON_NUMBER into int and float&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 13a952f777981a83de7b0dc1068a9c48d813004b&lt;/p&gt;</comment>
                            <comment id="107014" author="gerrit" created="Fri, 13 Feb 2015 23:57:13 +0000"  >&lt;p&gt;frank zago (fzago@cray.com) uploaded a new patch: &lt;a href=&quot;http://review.whamcloud.com/13774&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;http://review.whamcloud.com/13774&lt;/a&gt;&lt;br/&gt;
Subject: &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6246&quot; title=&quot;Add a JSON decoder&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6246&quot;&gt;&lt;del&gt;LU-6246&lt;/del&gt;&lt;/a&gt; user: replace liblustreapi JSON&lt;br/&gt;
Project: fs/lustre-release&lt;br/&gt;
Branch: master&lt;br/&gt;
Current Patch Set: 1&lt;br/&gt;
Commit: 910e31fe91844a4308e839736c07798c3ff8f15d&lt;/p&gt;</comment>
                            <comment id="107018" author="fzago" created="Sat, 14 Feb 2015 00:07:27 +0000"  >&lt;p&gt;The licenses used by CCAN JSON are:&lt;/p&gt;
&lt;ul class=&quot;alternate&quot; type=&quot;square&quot;&gt;
	&lt;li&gt;Test anything protocol - tap.c: FreeBSD license (aka 2 clauses BSD)&lt;/li&gt;
	&lt;li&gt;Test anything protocol - compiler.h dependency: CC0 (Creative Commons 0)&lt;/li&gt;
	&lt;li&gt;JSON: MIT&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;All 3 licenses are GPLv2 and v3 compatible.&lt;/p&gt;</comment>
                            <comment id="145675" author="simmonsja" created="Tue, 15 Mar 2016 21:30:37 +0000"  >&lt;p&gt;Hi Frank. With LUG coming up I like to discuss on developer&apos;s day about using JSON in replacement of YAML. Especially since json-c seems to be the standard now.&lt;/p&gt;</comment>
                            <comment id="145688" author="fzago" created="Wed, 16 Mar 2016 00:23:10 +0000"  >&lt;p&gt;That one: &lt;a href=&quot;https://github.com/json-c/json-c&quot; class=&quot;external-link&quot; target=&quot;_blank&quot; rel=&quot;nofollow noopener&quot;&gt;https://github.com/json-c/json-c&lt;/a&gt; ?&lt;/p&gt;</comment>
                            <comment id="145689" author="simmonsja" created="Wed, 16 Mar 2016 00:30:20 +0000"  >&lt;p&gt;Yes.&lt;/p&gt;</comment>
                            <comment id="147467" author="fzago" created="Thu, 31 Mar 2016 16:56:13 +0000"  >&lt;p&gt;I did a quick test to compare the CCAN JSON and the JSON-C (0.11-3 as provided by Ubuntu 12.04).&lt;/p&gt;

&lt;p&gt;The test decodes a 1290 bytes strings 1000000 times in a loop.&lt;/p&gt;

&lt;p&gt;CCAN JSON does it in 8.58s and JSON-C does it in 20.70s, so it&apos;s about 2.4 times slower.&lt;/p&gt;

&lt;p&gt;On the other hand, that&apos;s still fast enough for the usage being done here, and JSON-C is present in CentOS 6 &amp;amp; 7 and Debian/Ubuntu. The API looks also similar.&lt;/p&gt;

&lt;p&gt;So I wouldn&apos;t mind dropping these patches if JSON-C has better chance of being used. If JSON-C turns out to be a bottleneck, we can replace it.&lt;/p&gt;</comment>
                            <comment id="156284" author="fzago" created="Mon, 20 Jun 2016 21:41:11 +0000"  >&lt;p&gt;Hi James,&lt;br/&gt;
Was there any discussion/decision on that subject at LUG?&lt;/p&gt;</comment>
                            <comment id="219855" author="simmonsja" created="Fri, 2 Feb 2018 16:30:45 +0000"  >&lt;p&gt;Once &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-9324&quot; title=&quot;sanity-pfl test 10 needs to reset the file system default layout&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-9324&quot;&gt;&lt;del&gt;LU-9324&lt;/del&gt;&lt;/a&gt; lands liblustreapi.so will be supporting YAML. Since this is the case I don&apos;t think we need to look at adding a JSON decoder. Instead we need to look at using libYAML to handle JSON. Should we close this ticket or look to changing the direction?&lt;/p&gt;</comment>
                            <comment id="235977" author="simmonsja" created="Wed, 31 Oct 2018 00:10:30 +0000"  >&lt;p&gt;I see the latest &lt;a href=&quot;https://jira.whamcloud.com/browse/LU-6081&quot; title=&quot;hsm: add file migrate support&quot; class=&quot;issue-link&quot; data-issue-key=&quot;LU-6081&quot;&gt;LU-6081&lt;/a&gt; work has moved from using JSON to YAML. Since this is the case should we close this ticket and abandon the patches related to this work?&lt;/p&gt;</comment>
                            <comment id="235988" author="nangelinas" created="Wed, 31 Oct 2018 02:02:26 +0000"  >&lt;p&gt;Hi James. Yes, I think so as well, unfortunately. This would probably have been useful to land, but as you had suggested, since libyaml is now a dependency of Lustre it makes sense to use that instead.&lt;/p&gt;</comment>
                            <comment id="236180" author="simmonsja" created="Fri, 2 Nov 2018 00:27:22 +0000"  >&lt;p&gt;Will use YAML instead.&lt;/p&gt;</comment>
                    </comments>
                <issuelinks>
                            <issuelinktype id="10120">
                    <name>Blocker</name>
                                            <outwardlinks description="is blocking">
                                        <issuelink>
            <issuekey id="28048">LU-6081</issuekey>
        </issuelink>
                            </outwardlinks>
                                                        </issuelinktype>
                            <issuelinktype id="10011">
                    <name>Related</name>
                                                                <inwardlinks description="is related to">
                                        <issuelink>
            <issuekey id="47888">LU-9897</issuekey>
        </issuelink>
                            </inwardlinks>
                                    </issuelinktype>
                    </issuelinks>
                <attachments>
                    </attachments>
                <subtasks>
                    </subtasks>
                <customfields>
                                                                                                                                                                <customfield id="customfield_10890" key="com.atlassian.jira.plugins.jira-development-integration-plugin:devsummary">
                        <customfieldname>Development</customfieldname>
                        <customfieldvalues>
                            
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                        <customfield id="customfield_10390" key="com.pyxis.greenhopper.jira:gh-lexo-rank">
                        <customfieldname>Rank</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>1|hzx6d3:</customfieldvalue>

                        </customfieldvalues>
                    </customfield>
                                                                <customfield id="customfield_10090" key="com.pyxis.greenhopper.jira:gh-global-rank">
                        <customfieldname>Rank (Obsolete)</customfieldname>
                        <customfieldvalues>
                            <customfieldvalue>17495</customfieldvalue>
                        </customfieldvalues>
                    </customfield>
                                                                                                                                                                                                                                                                                                                                                                                                                </customfields>
    </item>
</channel>
</rss>