Do not input private or sensitive data. View Qlik Privacy & Cookie Policy.
Skip to main content

Announcements
Streamlining user types in Qlik Cloud capacity-based subscriptions: Read the Details
cancel
Showing results for 
Search instead for 
Did you mean: 
DEV-Talend1
Contributor II
Contributor II

Demande support – OutOfMemoryError

Bonjour,

Nous rencontrons actuellement une difficulté lors de l’exécution d’un job Talend et souhaiterions solliciter votre assistance.

Contexte

Le job est exécuté via Talend Management Console (TMC) sur un Talend Remote Engine installé sur une machine virtuelle Windows disposant de 8 Go de RAM.
Les traitements portent sur des volumes très importants de fichiers CSV.
Les données sont stockées exclusivement sous forme de fichiers CSV (aucune base de données utilisée).

Problème rencontré

Le job échoue systématiquement avec l’erreur suivante :

java.lang.OutOfMemoryError: Java heap space

Actions déjà réalisées

  • Vérification de la mémoire disponible sur la machine (RAM suffisante et stable).

  • Ajustement progressif de la heap Java du processus exécutant le job :

    • confirmation via la ligne de commande que le job est bien lancé avec
      -Xms512M -Xmx2048M, puis -Xms1024M -Xmx3072M.

  • Redémarrage du Talend Remote Engine après chaque modification.

  • Vérification qu’aucune exécution concurrente n’est en cours.

Malgré ces ajustements, l’erreur persiste.

Objectif

Nous souhaitons obtenir vos recommandations sur :

  • la meilleure approche pour gérer des opérations de déduplication et/ou de tri sur de très gros fichiers CSV dans Talend,

  • les bonnes pratiques à adopter pour éviter une consommation excessive de mémoire dans ce type de contexte,

  • ou toute configuration spécifique Talend/JVM qui pourrait être envisagée dans ce cas.

Merci par avance pour votre aide.

Labels (4)
7 Replies
gouravdubey5
Partner - Creator
Partner - Creator

Hello,

The OutOfMemoryError indicates that the JVM running Talend Studio or the job does not have enough heap memory for the current workload.

Common causes:

Large datasets loaded entirely into memory

Use of in-memory components (for example tHash*, complex tMap joins)

Insufficient default JVM heap size

Recommended actions:

Increase the JVM heap size (-Xmx) for Talend Studio or the job runtime.

Optimize the job to process data in a streaming manner.

Avoid loading large volumes fully into memory; apply filters early.

Split large datasets into smaller chunks where possible.

Note:
Increasing memory alone may not be sufficient if the job design is not optimized.

Thanks,

Gourav

Talend Solution Architect | Data Integration
DEV-Talend1
Contributor II
Contributor II
Author

Bonjour,

Merci pour votre retour.

Nous comprenons que l’erreur est liée à des opérations globales en mémoire sur de gros volumes.

Dans notre cas, la contrainte est de rester sur un stockage fichier (CSV uniquement) et de produire, pour chaque clé métier, l’enregistrement le plus récent.

Afin d’éviter une consommation excessive de heap, pourriez-vous nous indiquer :

  • s’il existe dans Talend un mécanisme de tri/déduplication s’appuyant sur le disque (external sort) plutôt que sur la mémoire,

  • ou un pattern Talend recommandé pour implémenter ce type de déduplication sur fichiers volumineux,

  • ou des composants alternatifs plus adaptés à ce cas d’usage.

Nous souhaitons nous aligner sur les bonnes pratiques Talend pour garantir la scalabilité du traitement.

Cordialement,

gouravdubey5
Partner - Creator
Partner - Creator

Hello,

Yes, Talend provides a supported and scalable way to handle large-file sort and deduplication while limiting heap usage.

1. Disk-based (external) sort

Talend supports external (disk-based) sorting through the tSortRow component.

Enable “Use external sort” in tSortRow

Sorting is performed on disk instead of in JVM memory

This is the recommended approach for large CSV files

There is no separate external deduplication component; deduplication is performed after sorting, in streaming mode.

. Recommended Talend pattern for large-file deduplication

To keep the most recent record per business key, the Talend best-practice pattern is:
tFileInputDelimited
-> tSortRow (Use external sort = true)
- Sort by Business Key (ASC)
- Sort by Date field (DESC)
-> tUniqRow (Key = Business Key)
-> tFileOutputDelimited

This pattern:

1.Avoids global in-memory operations

2.Processes rows sequentially

3.Scales well for large file volumes

More suitable components

Recommended: tSortRow (external sort) + tUniqRow

Not recommended for large files: tMap with unique rows, tAggregateRow, tHash*

Alternative (if available): Big Data / Spark jobs for very large volumes

Thanks,

Gourav

Talend Solution Architect | Data Integration
DEV-Talend1
Contributor II
Contributor II
Author

Bonjour,

Suite à vos recommandations, nous avons activé l’option « Trier sur le disque (tri externe) » sur le composant tSortRow afin de limiter l’utilisation mémoire lors du traitement de fichiers CSV volumineux.

Cependant, après cette modification, le job ne démarre plus en local depuis Talend Open Studio et échoue lors de la génération/compilation avec l’erreur suivante :

org.talend.designer.runprocess.ProcessorException:
Le Job est mal configuré.
Message détaillé : org.talend.designer cannot be resolved to a type

Points importants à noter :

  • L’erreur apparaît uniquement lorsque l’option “Trier sur le disque” est activée.

  • Lorsque cette option est désactivée, le job s’exécute correctement (jusqu’à rencontrer ensuite une limite mémoire sur de très gros volumes).

  • Le problème survient avant l’exécution, au moment de la génération du code Java par Talend Studio.

  • Nous exécutons actuellement le job en local depuis Talend Open Studio (avant déploiement sur Remote Engine).

  • Aucun import ou code custom ne référence volontairement des packages org.talend.designer.

Pourriez-vous nous indiquer :

  1. S’il existe un prérequis spécifique (version de Studio, patch, configuration) pour utiliser le tri externe de tSortRow sans erreur de compilation ?

  2. Si ce comportement est connu dans certaines versions de Talend Open Studio ?

  3. S’il y a une configuration recommandée pour tester le tri externe en local Studio avant exécution sur Remote Engine ?

Nous restons bien entendu disponibles pour fournir des logs complémentaires ou des informations sur la version exacte de Talend Studio utilisée.

Merci par avance pour votre aide.

gouravdubey5
Partner - Creator
Partner - Creator

Hello,

Thank you for the detailed description.

Based on the symptoms, this issue is not related to your job logic, but to a Studio-side limitation / known behavior in certain Talend Open Studio versions when enabling tSortRow --> “Sort on disk (external sorting)”.

Root cause

When external sorting is enabled, tSortRow generates additional Java code during the design-time code generation phase.
In some Talend Open Studio builds, this code generation incorrectly references internal Designer classes, leading to compilation errors such as: org.talend.designer cannot be resolved to a type

This explains why:

The failure occurs before execution, during build/compilation

The error appears only when external sorting is enabled

No custom code explicitly references org.talend.designer

The issue happens locally in Studio, not at runtime logic level

Answers to your questions

1. Prerequisites to use external sorting without compilation errors
External sorting requires a Studio version and patch level where the tSortRow external sort code generation is fully supported. Some Talend Open Studio versions have incomplete Designer dependencies, which can cause this compilation failure.

2. Is this behavior known in some Talend Open Studio versions?
Yes. Similar Studio-side compilation issues have been reported when advanced component features rely on internal Designer classes that are not exposed correctly in Open Studio builds. This is a design-time limitation, not a runtime one.

3. Recommended way to test external sorting
Talend-recommended approaches are:

Ensure you are using the latest available patch for your Talend Open Studio version

Validate the job using a standalone job export or directly on the Remote Engine, where runtime dependencies are complete

As a temporary local workaround:

Disable external sorting for Studio testing

Enable it again before execution on Remote Engine

Merci beaucoup 🙂

Thanks,

Gourav

Talend Solution Architect | Data Integration
DEV-Talend1
Contributor II
Contributor II
Author

Bonjour,

Merci beaucoup pour votre retour détaillé et pour les explications fournies concernant le comportement de tSortRow avec l’option “Trier sur disque (tri externe)” dans Talend Open Studio.

Votre analyse confirme effectivement ce que nous observons de notre côté :
l’erreur ne semble pas liée à la logique fonctionnelle du job, mais à une limitation connue de génération de code côté Studio lorsque le tri externe est activé.

Cependant, nous rencontrons actuellement un blocage supplémentaire :

Lorsque l’option “Trier sur disque” est activée dans tSortRow, le job :

  • échoue avant l’exécution, lors de la phase de génération/compilation,

  • affiche systématiquement l’erreur :

org.talend.designer cannot be resolved to a type
  • et ne peut pas être publié (export ou déploiement) vers  TMC pour etre éxécuté via le Remote Engine, ce qui nous empêche de valider l’exécution dans un environnement où les dépendances seraient complètes.

À noter que :

  • nous utilisons déjà la dernière version disponible de Talend Open Studio 8 (R2025-09 v2),

  • le même job fonctionne avec l'erreur 

    java.lang.OutOfMemoryError: Java heap space

    tant que l’option tri externe reste désactivée,

  • l’erreur apparaît uniquement dès l’activation du tri externe, même en exécution locale.

Dans ce contexte, pourriez-vous s’il vous plaît nous confirmer officiellement :

  1. qu’il n’existe pas de correctif ou contournement côté Talend Open Studio permettant d’utiliser le tri externe de tSortRow sans provoquer cette erreur de compilation,

  2. et que la seule approche viable en Open Studio consiste soit à désactiver le tri externe, soit à utiliser une alternative de traitement externe au Studio pour les très gros volumes CSV.

Cette confirmation nous aiderait à valider définitivement notre choix d’architecture et à documenter clairement cette limitation.

Merci encore pour votre aide et votre disponibilité.

Cordialement,

gouravdubey5
Partner - Creator
Partner - Creator

Hello,

At this time, there is no specific Qlik/Talend KB or documentation that explicitly states that tSortRow external sorting is not supported in Talend Open Studio. However, this behavior is consistent with known Talend Open Studio design-time limitations.

It is important to note that:

Talend Open Studio performs Java code generation at design time

Enabling external sorting in tSortRow introduces additional internal dependencies

Talend Open Studio does not expose all internal Designer classes required for this code generation

As a result, compilation fails with errors such as:org.talend.designer cannot be resolved to a type

While the tSortRow external sorting option is documented, its availability does not guarantee full support across all Studio distributions, particularly Talend Open Studio.

This explains why:

The error occurs before execution

Job export and publication to TMC are blocked

Execution on Remote Engine cannot be validated

The behavior persists even on the latest Talend Open Studio 8 versions

This should therefore be considered a Talend Open Studio design-time limitation, not a configuration or job logic issue, and should be factored into architectural decisions.

Thanks,

Gourav

Talend Solution Architect | Data Integration