<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic Re: tBufferOutput/Input components are changing the value of the byte array in Talend Studio</title>
    <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377101#M139062</link>
    <description>&lt;P&gt;tHashinput and tHashOutput components work perfectly well with hashed values - and I use them in my jobs - but tHashinput and tHashOutput are not useful in this situation because I need to propagate data from a child to a parent job (what is shown in the screenshots in my question is just a simple example to demonstrate the issue and not my actual job) and as far as I know I can't achieve that with the tHash components, that is why I am using tBuffer components in the first place.&lt;/P&gt;</description>
    <pubDate>Tue, 21 Dec 2021 10:54:52 GMT</pubDate>
    <dc:creator>Metikosh</dc:creator>
    <dc:date>2021-12-21T10:54:52Z</dc:date>
    <item>
      <title>tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377095#M139056</link>
      <description>&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As described in the subject, I am having an issue with the tBufferOutput/Input components. I have a table in a MariaDB database which contains a column which is BINARY datatype (in this column I have a hash value calculated with SHA256). For this example I used a single row so it would be easy to notice the difference.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Here is a screenshot of my job:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000Lxqn7AAB.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/134225iBCEEAE0B83650D38/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000Lxqn7AAB.png" alt="0695b00000Lxqn7AAB.png" /&gt;&lt;/span&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Following are screenshots of the schemas of the job components:&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000Lxqo5AAB.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/138807i38C38DD546412FA5/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000Lxqo5AAB.png" alt="0695b00000Lxqo5AAB.png" /&gt;&lt;/span&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000LxqqaAAB.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/134008i53003B8E03AA4D9E/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000LxqqaAAB.png" alt="0695b00000LxqqaAAB.png" /&gt;&lt;/span&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;And finally here is the result (testDataHash1 is the source table and testDataHash2 is the destination table - both have the same definition - only one column BINARY with length 64).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;B&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000LxqpDAAR.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/132703i743FFD0E3C31CD00/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000LxqpDAAR.png" alt="0695b00000LxqpDAAR.png" /&gt;&lt;/span&gt;&lt;/B&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;This is a simplified scenario to demonstrate the issue I am facing - I actually have complex parent-child jobs where I need to propagate data from the child to the parent job (including the DataHash column which I am later using in a tMap component as a lookup; the lookup fails because the values are different because of the tBuffer components).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There is no workaround in my job logic (in terms of not using the tBufferOuput/Input), so I would appreciate any advice on how to tackle this issue!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;</description>
      <pubDate>Fri, 17 Dec 2021 13:52:42 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377095#M139056</guid>
      <dc:creator>Metikosh</dc:creator>
      <dc:date>2021-12-17T13:52:42Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377096#M139057</link>
      <description>&lt;P&gt;Hi, it seem you have an encoding problem,&lt;/P&gt;&lt;P&gt;check the encoding used in the advanced parameters of tBuffer components .&lt;/P&gt;&lt;P&gt;Send me love and Kudos&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 08:54:20 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377096#M139057</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-12-21T08:54:20Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377097#M139058</link>
      <description>&lt;P&gt;Hi &lt;A href="https://community.talend.com/s/profile/0055b00000Ll14kAAB" alt="https://community.talend.com/s/profile/0055b00000Ll14kAAB" target="_blank"&gt;gjeremy1617088143&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your answer but I'm afraid that is not the case. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I forgot to mention it in my question but I have already tried executing the job with different encoding selected in the advanced settings of the tBufferInput component (I used UTF-8,  ISO-8859-15, ASCII, Cp1252, UTF16, UTF32 and some other encodings that I thought would make a difference) and all I got was multiple different values for the DataHash column - none of them is the same as the original. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;If you have some other suggestions please share them with me.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 09:32:09 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377097#M139058</guid>
      <dc:creator>Metikosh</dc:creator>
      <dc:date>2021-12-21T09:32:09Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377098#M139059</link>
      <description>&lt;P&gt;you can add additionnal parameters in your tDB components to force encoding&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 09:53:39 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377098#M139059</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-12-21T09:53:39Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377099#M139060</link>
      <description>&lt;P&gt;I don't think that the encoding would affect a binary column - but I tried this as you suggested and it does not fix the problem. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have tested this also without the tBuffer components (just passing the row from tDBInput to tDBOutput) with different encodings in the additional JDBC parameters and it did not affect the value at all (I used latin1 and UTF8). So I think that the encoding in the source-destination is not the problem, the problem is with the tBuffer components (and again not with the encoding because changing it did nothing to fix the issue).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Update: I also tried force encoding in the source as latin1 and mapping it in a destination with UTF8 (without the tBuffer components) - the value of DataHash stayed the same.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 10:13:12 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377099#M139060</guid>
      <dc:creator>Metikosh</dc:creator>
      <dc:date>2021-12-21T10:13:12Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377100#M139061</link>
      <description>&lt;P&gt;have you tried with other component like tHashinput and tHashOutput to replace tBuffer component ?&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 10:34:22 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377100#M139061</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-12-21T10:34:22Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377101#M139062</link>
      <description>&lt;P&gt;tHashinput and tHashOutput components work perfectly well with hashed values - and I use them in my jobs - but tHashinput and tHashOutput are not useful in this situation because I need to propagate data from a child to a parent job (what is shown in the screenshots in my question is just a simple example to demonstrate the issue and not my actual job) and as far as I know I can't achieve that with the tHash components, that is why I am using tBuffer components in the first place.&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 10:54:52 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377101#M139062</guid>
      <dc:creator>Metikosh</dc:creator>
      <dc:date>2021-12-21T10:54:52Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377102#M139063</link>
      <description>&lt;P&gt;hi you could use this :&lt;/P&gt;&lt;P&gt;https://help.talend.com/r/i6eFKBuNsRD2KzBCYnXHhw/4jPcdaVw7eaDvMyLDjdYfQ&lt;/P&gt;&lt;P&gt;instead of a String you declare a byte[], then you can get the byte[] or set it in all your job &lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 13:18:57 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377102#M139063</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-12-21T13:18:57Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377103#M139064</link>
      <description>&lt;P&gt;This would probably work if I wanted to pass a single value - because for multiple rows the variable value would be reset for every row and in the parent job I would get only the last value of millions of rows. Maybe my example job confused you because in the example I am moving a single row (single value), but I am not actually working with a single value - I will have millions of rows for the DataHash column.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks a lot for your time, I really appreciate your input!&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 16:15:08 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377103#M139064</guid>
      <dc:creator>Metikosh</dc:creator>
      <dc:date>2021-12-21T16:15:08Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377104#M139065</link>
      <description>&lt;P&gt;so you can use the method with private variable and getter setter with a List&amp;lt;byte[]&amp;gt; instead of byte[]&lt;/P&gt;</description>
      <pubDate>Tue, 21 Dec 2021 16:52:00 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377104#M139065</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-12-21T16:52:00Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377105#M139066</link>
      <description>&lt;P&gt;for example you can create a private static List&amp;lt;byte[]&amp;gt; in a routine.&lt;/P&gt;&lt;P&gt;on the child job you use tJavaFlex : in the begin part you instanciate the liste, in the main you add the byte[] of the current row in the ArrayList on the end part you set the private var with the list you filled.&lt;/P&gt;&lt;P&gt;on the father job you use another tJavaFlex with a foreach clause inside to send the list to a flow.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;here for  eg I use a list of string and globalVar for put or get the list :&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000LyTavAAF.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/139339i086B6604171D8BAD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000LyTavAAF.png" alt="0695b00000LyTavAAF.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000LyTaqAAF.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/142247i9AB5FBBA825EFCDA/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000LyTaqAAF.png" alt="0695b00000LyTaqAAF.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000LyTalAAF.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/129980iE7BC14BD4C0A9ECD/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000LyTalAAF.png" alt="0695b00000LyTalAAF.png" /&gt;&lt;/span&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="0695b00000LyTaWAAV.png"&gt;&lt;img src="https://community.qlik.com/t5/image/serverpage/image-id/151583i02C381CF2DB34740/image-size/large?v=v2&amp;amp;px=999" role="button" title="0695b00000LyTaWAAV.png" alt="0695b00000LyTaWAAV.png" /&gt;&lt;/span&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;you just have to transpose it to list&amp;lt;byte[]&amp;gt; and use getter setter of private variable in a routine instead of globalVar&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Wed, 22 Dec 2021 15:06:18 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377105#M139066</guid>
      <dc:creator>gjeremy1617088143</dc:creator>
      <dc:date>2021-12-22T15:06:18Z</dc:date>
    </item>
    <item>
      <title>Re: tBufferOutput/Input components are changing the value of the byte array</title>
      <link>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377106#M139067</link>
      <description>&lt;P&gt;Hi @guenneguez jeremy​&amp;nbsp;,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thank you for your input! I am sorry for the late reply, but priorities shifted on my side and I didn't have the time to test your approach. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;So finally I have tested it and it works great! &lt;B&gt;However, &lt;/B&gt;I would like to inform you that the mistake was on my side - the tBuffer components work as they should, my data was actually incorrect (I won't go into details, let's just say that it was incompatible...). But thank you for introducing the global routine approach to me, as I was unfamiliar with the usage of global routines. &lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I will select your answer as best because of your valuable input from which I have learned a lot, but since there is no problem with the tBuffer components - my question, and this whole discussion, is nullified.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Best regards!&lt;/P&gt;</description>
      <pubDate>Fri, 25 Feb 2022 15:06:05 GMT</pubDate>
      <guid>https://community.qlik.com/t5/Talend-Studio/tBufferOutput-Input-components-are-changing-the-value-of-the/m-p/2377106#M139067</guid>
      <dc:creator>Metikosh</dc:creator>
      <dc:date>2022-02-25T15:06:05Z</dc:date>
    </item>
  </channel>
</rss>

