#1 2008-03-17 05:34:18

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

&tMysqlOutput::Mysql

Tags: [bug, mysql, perl, tos2.3.1]

Hi,

I have issues with this tMysqlOutput::Mysql, i.e. the tMysqlOutput component.

I have recently loaded and installed TOS v2.3.1 on a standard Windows computer  (I previously had TOS v2.2.1 then v2.2.3 then v2.2.4 then v2.3.0 ...  installed on that computer so I know it is ""TOS compliant" ;-) ) with previously install active Perl and MySQL. All well configured and that on which all my jobs were running very smoothly.

But since in am using TOS v2.3.1 on which I exported jobs previously bug free on v2.2.4, I have an issue with tMysqlOutput.
Every time a job needs it, execution stops with the message:

"Undefined subroutine &tMysqlOutput::Mysql::performTableAction called at "

Any idea about how to fix that ... all my jobs are using tMysqlOutput ...

Offline

#2 2008-03-17 09:34:46

plegall
Member
Registered: 2006-09-19
Posts: 1586
Website

Re: &tMysqlOutput::Mysql

With TOS 2.3.1, under Linux Ubuntu 7.10 (Gutsy), I don't reproduce the problem with an exported script. In the zip archive, I have the Mysql.pm module:

Code:

[pierrick@plegall] /tmp/topic2439_0.1
$ tree
.
`-- topic2439
    |-- SUSE.job_topic2439.pl
    |-- SUSE.job_topic2439_Default.pl
    |-- lib
    |   |-- routines
    |   |   |-- SUSE
    |   |   |   `-- topic2399.pm
    |   |   `-- system
    |   |       |-- Date.pm
    |   |       |-- Misc.pm
    |   |       |-- Numeric.pm
    |   |       `-- String.pm
    |   |-- tMysqlOutput
    |   |   `-- Mysql.pm
    |   `-- talend
    |       |-- dbOp.pm
    |       |-- filesOp.pm
    |       |-- runstat.pm
    |       `-- trace.pm
    |-- src
    |   |-- talend.project
    |   |-- topic2439_0.1.item
    |   `-- topic2439_0.1.properties
    |-- topic2439_run.bat
    `-- topic2439_run.sh

8 directories, 17 files

In the zip archive, do you see the Mysql.pm module? What is the content of your *run.bat, and *run.sh files?

Offline

#3 2008-03-17 21:28:12

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Quick reply, thanks a lot, I am jumping on it as this problem is quite a show stopper right now for me ...

Hum, I use the option "Export Talend projects" (and I am on windows) and I don't think this option creates the same structure of Zip archive. (as I can't see any "lib" folder for example ...)

So no, I can see any tMysqlOutput or Mysql.pm.

BUT, worst than that, if I am using a new tMysqlOutput component in a new job, it still does work with the same error message than in my previous post AND tMysqlOutput appears with status "Not installed" in the list of module.

Also I know I have a tMysqlOutput in the TOS v2.3.1 folder under ~TOS\plugins\org.talend.designer.components.localprovider_2.3.1.r11699\components\tMysqlOutput so I am not sure why even the new tMysqlOutput components aren't working ...

All in all, help would be much appreciated. smile

Offline

#4 2008-03-17 23:53:29

plegall
Member
Registered: 2006-09-19
Posts: 1586
Website

Re: &tMysqlOutput::Mysql

raton wrote:

Hum, I use the option "Export Talend projects" (and I am on windows) and I don't think this option creates the same structure of Zip archive. (as I can't see any "lib" folder for example ...)

OK, I misunderstood your words. In Talend Open Studio, we have 2 types of export : item export and script export. When you want to import an item (a job, a metadata or a routine) in another project, you first export the related item from the source project. If you want to deploy the job on your production server, then you export the script corresponding to the job.

raton wrote:

BUT, worst than that, if I am using a new tMysqlOutput component in a new job, it still does work with the same error message than in my previous post

Here is the real problem. As I don't reproduce the problem, I need more information. Can you describe the job and give screenshots?

raton wrote:

[...] AND tMysqlOutput appears with status "Not installed" in the list of module.

This is a known bug that is fixed in TOS 2.3.2 see [Bugtracker, bug 3225, fixed] [Module View] Specific perl modules from other components exists but an error is shown.

Offline

#5 2008-03-17 23:57:39

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Thanks again for the reply. "know bugs", I like that ... may I have an insight about when TOS v2.3.2 would be out?? ;-)

I am going to create some screenshot and post them here in a minute.

Offline

#6 2008-03-18 00:12:56

plegall
Member
Registered: 2006-09-19
Posts: 1586
Website

Re: &tMysqlOutput::Mysql

raton wrote:

Thanks again for the reply. "know bugs", I like that ... may I have an insight about when TOS v2.3.2 would be out?? ;-)

It's a matter of days. It should be available before the end of the week if we don't find a blocking bug.

Offline

#7 2008-03-18 00:20:14

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Brilliant. smile

Sorry I can't manage to get a screenshot through (I am doing remote desktop using a multi screen computer and it doesn't do screenshots easily.
Anyway, I don't think it would show you much as exactly identical jobs on my laptop are working fine. (with TOS v2.3.1 ...)

So know I am wondering if I didn't set some Wrong options somewhere on my server ...

Otherwise, the only practical difference between the jobs on my laptop and the ones on the server is that on the server, the jobs where loaded into TOS v2.3.0 shortly before being re-exported again to TOS v2.3.1. (on my laptop, they went from TOS v2.2.4 to v2.3.1 ...)

And I don't want to reload an old version of my workspace as I did some work since ...

I will look at my options right now and come back to tell my findings. Thanks for being so responsive, it is much appreciated.

Offline

#8 2008-03-18 00:58:12

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Ok, I think I worked it out.

As I wrote previously, same jobs were working on different computers with the same version of TOS. So I re-unzip TOS on the server (that wasn't working) imported the project and it did work out just fine. So know I am not going to change anything for a bit of time.

On of the things I had previously changed on the TOS v2.3.1 that wasn't working was the "components" paths as I was working on developping my own TOS components. I previously changed the paths back with Restore Defaults but it didn't change anything ... there is something fishy with these three component paths "User component folder", "Component default filepath" and "Component Project" in the Talend Component Designer preferences. Which I am not going to try now that I have my job working again ...

Anyway, many thanks again to the Talend Team, very helpful as usual. smile

Offline

#9 2008-03-20 03:03:13

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

I unfortunately found what was the problem with this tMysqlOutput component.

As written previously, I developped my own components when I need to. To do so, in the preferences, under Talend and Components, I linked to the folder in which I put my own components.

My TOS v2.3.1 was working all fine 10 minutes ago, then I had to use a job that had one of my own components into it (first time I had to use one of my own components since my previous post in which I was writting that everything was working fine) and this time again, once I started the execution, I had the error message:
"Undefined subroutine &tMysqlOutput::Mysql::performTableAction called at "

And after that, none of the tMysqlOutput components, in any of my jobs could run anymore.

I am not entirely sure this is the same bug than the one indicated by plegall previously. If it is: great! Otherwise, it would certainly be worth fixing ... Thanks smile

Offline

#10 2008-03-20 09:43:35

plegall
Member
Registered: 2006-09-19
Posts: 1586
Website

Re: &tMysqlOutput::Mysql

Thanks for this detailed investigation, I'll try to reproduce.

What are the names of your own components?

Offline

#11 2008-03-25 00:52:25

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

my components are locate in:
F:/Mycomponents/

And my components are called:
tEnzym
tZelda
tZelda2
tZorro

smile

Offline

#12 2008-03-25 01:53:39

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

A tiny bit more information ( I am not investigating but I needed a "quick" fix today to process some files... ;-) )

I re-unzipped TOS v2.3.1 to get a new clean start of the day.
I had to define in the preferences the folder with my components otherwise the job with the custom components won't load. But if I de-activate the custom components, I can run the rest of the job all sweet, with the tMysqlOutput working.

Then as soon as I activate the custom components, the tMysqlOutput are gone, forever and for every jobs (even those without custom components) until I use a "fresh" TOS ...

I hope this helps.

Offline

#13 2008-03-25 10:39:56

plegall
Member
Registered: 2006-09-19
Posts: 1586
Website

Re: &tMysqlOutput::Mysql

I've made a test with TOS 2.3.1 with a fresh install:

1. create a job with a tMysqlOutput
2. create a directory /tmp/components with tApacheLogInput
3. give /tmp/components folder in [Window>Preferences>Talend>Components>User components folder]
4. restart TOS
5. my job is still working and I see tApacheLogInput in the component palette
6. I remove the User components folder
7. restart TOS
8. my job is stil working and I still see tApacheLogInput in the component palette (that's a bug)

Conclusion: I don't reproduce the problem.

Did I followed the same steps as you did?

Offline

#14 2008-03-25 21:39:33

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Step 1 to 4 seem to be exactly the same than what I do.

In step 5, did you use the tApacheLogInput component in your job? I can put my custom component in the job and de-activate it and tMysqlOutput still works but as soon as I activate it I have the issue with tMysqlOutput.

Note: I am not sure if it is related but my TOS folder is "C:\TOS" while my custom components folder is "F:\My_components". (sorry for indicating the wrong folder name yesterday)

Offline

#15 2008-03-30 22:05:36

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Good news, this problem appears to be solved in TOS v2.3.2.

Great work, thanks again Talend Team. smile

Offline

#16 2008-04-18 00:07:13

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

Bad news of the day, the problem is still there .... it ("it" as "the problem") just seems to be behaving differently now.

I haven't had time to do any investigation yet but from what I did, I started TOS v2.3.2, ran many jobs, modified them, closed/restarted TOS many times ... it was all working very well. (note: all my jobs use tMysqlOutput)

Then I had to use one of these jobs that uses one of my custom made components, I mapped my custom component folder, opened the job, ran it and modified it many time ... all working very well. Then I closed TOS and after restarting it, tMysqlOutput doesn't work anymore, same error message than previously:
"Undefined subroutine &tMysqlOutput::Mysql::performTableAction"
...

Offline

#17 2010-04-25 00:53:16

raton
Member
Company: harmonic
Registered: 2007-10-25
Posts: 59
Website

Re: &tMysqlOutput::Mysql

How interesting to fall back on a post from my own self...

I am experiencing the exact same problem with custom components using TOS 3.2.3 than I had in 2008 with TOS 2.3.2: once a folder is defined to use some of my custom  components, TOS is not able to find back where tMySQLOutput component is. (and maybe other components but it is the only one that give me errors)

I will create a bug report for this too but added to the problems with jobs getting locked in read-only and the serious difficulties to export jobs, it is three important features faulty in TOS. rollI am a bit afraid we soon won't be able to do much with TOS anymore if less of the important features are available after each release: no need for new components if it means other components are lost, if jobs can't be modified anyway because they are locked in read-only or if, after working around the too previous problems, jobs can't be used anyway because they can't be exported ... sad

Last edited by raton (2010-04-25 00:54:01)

Offline

#18 2013-02-17 07:36:50

pkumar1
New member
Registered: 1970-01-01
Posts: 2

Re: &tMysqlOutput::Mysql

Hi,

Iam new to talend and dealing with scd type1

If it's a brand new record then Insert it with REC_ADD_TS as Sysdate
If record exists then compare all non key source attributes with target attributes
If atleast one field changes then update values in Target based  on keys and also maintain REC_CHG_TS as Sysdate for updated records.

Any solutions for this

Offline

Board footer

Powered by FluxBB