Oversized Config dialog on Date&Time to String and String to Date&Time nodes

Hi all, I recently (last day or so) updated my KNIME from 5.2.3 to 5.2.4, although this may be unrelated.

This morning, I tried using Date&Time to String nodes and the configuration screen is oversized. It’s never been a problem before, but it seems to be trying to use up probably twice the width of my available screen, and doesn’t resize “nicely” either.

This is on Windows 10

This is also happening to String to Date&Time, but interestingly I haven’t seen it on any other nodes.

Here is a gif to demonstrate what I am seeing.

2024-06-0114-14-17-ezgif.com-video-to-gif-converter

If I switch to Classic UI it does exactly the same, but loading a different version of KNIME on the same pc, everything is fine.

I have tried restarting KNIME, and tried restarting my laptop but it persists.

Any ideas what would be affecting just those two nodes?

I have KNIME 5.2.4 (also updated from 5.2.3) on another pc, and everything is fine on there, so the update may be unrelated.

Hi @takbb,

I was not able to reproduce it. Can you share your workflow? Maybe it’s depending on the data …

Classic UI

Modern UI

Though, I must admit that Knime shows erratic behavior since v4.7 or so. Roughly around the time the modern UI was introduced and parts of it snuck into the Classic UI like this:

Classic and Modern UI

I reported this quite some time ago but no one seems to care and I cannot find that post of mine.

Best
Mike

2 Likes

Hi @mwiegand , it doesn’t seem to be workflow or data related. I have one install of KNIME that just suddenly started doing this today. Doesn’t matter if it’s a new workflow or an existing one… Just those two nodes are behaving strangely. But my other KNIME installation is perfectly normal.

So something seems to have gone wrong with that copy of KNIME. Suspect I’ll just have to install a fresh 5.2.4 and configure it plus reinstall extensions. Odd though.

Funnily enough I thought I’d seen this mentioned on the forum before so went searching but I couldn’t find it either. I assume it was your post I’d previously seen.

After re-installing KNIME 5.2.4 , the problem “went away” until I switched to my old workspace, and then the problem came back.

Likewise switching my original KNIME 5.2.4 (updated from older version) to a new workspace meant the problem went away. Switching back to the old workspace and it returned.

That gave me something to go on, and using a file comparison tool, I finally narrowed down the problem to the presence of a single file in the workspace

<knimeworkspace>\.metadata\knime\history_string_to_date_formats.txt

This file may or may not be present in the workspace. It appears that its purpose is to record date format masks that have been entered into the Date&Time to String, and String to Date&Time nodes.

I had been experimenting with programmatically created format masks for dates that would ignore the presence of days of the week appearing anywhere within the date. So there was a massively long format mask stored in this file. The mask wasn’t actually valid, because I was still “playing”, but this is what I have now discovered broke the node config:

It appears that the masks stored in this file are used to populate the drop down selection list with available masks:

.

Now that I know what I’m looking for, I can see it… if put the file back, and restart KNIME, then open the config for either of the String/Date&Time nodes, then scrolldown the Date Format list, it becomes clear why the whole dialog box has become so wide :slight_smile:

I wouldn’t normally have a need for such a wide mask, but it’s a little frustrating/concerning that if you do put in a wide mask, it gets “remembered” in such a way that it can make the config for the nodes quite unusable.

If anybody in future stumbles on this problem, then the fix is to locate your KNIME workspace on your disk, e.g. at
c:\Users\username\knimeworkspace\.metadata\knime
In that folder, find the file
history_string_to_date_formats.txt
You edit it with a text editor, and remove any lines containing very wide date formats
Save it, and then restart KNIME

Alternatively…
Drop this component on a workflow, execute it and then restart KNIME

It removes any exceptionally large >90 character format masks from the above file. Of course, if you still have a node that is actually configured with such a mask, the problem will return every time you open that specific node.

2 Likes

Hi @takbb,

I was able to reproduce, without even trying, but not fix the issue.

I believe there are more files since, upon trying to list all within the metadata directory, the unconfigured node I placed suggested previous paths:

I created a simple workflow to fetch all files and their contents from .metadata\knime\

File Max*(String Length)
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.rest.nodes.get.RestGetNodeDialog.txt 553
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.rest.nodes.webpageretriever.WebpageRetrieverNodeDialog.txt 553
knime://knime.mountpoint/.metadata%5Cknime%5C/history_image_port_writer.txt 205
knime://knime.mountpoint/.metadata%5Cknime%5C/history_class%20org.knime.ext.textprocessing.nodes.source.parser.tika.TikaParserNodeDialog.txt 186
knime://knime.mountpoint/.metadata%5Cknime%5C/history_source_chooser.txt 180
knime://knime.mountpoint/.metadata%5Cknime%5C/history_simple_file_reader.txt 171
knime://knime.mountpoint/.metadata%5Cknime%5C/history_csv_reader_writer.txt 167
knime://knime.mountpoint/.metadata%5Cknime%5C/history_JSONReader.txt 166
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.webanalytics.internal.weblogreader3.WeblogReader3NodeDialog.txt 159
knime://knime.mountpoint/.metadata%5Cknime%5C/history_com.vernalis.knime.flowvar.nodes.io.write.WriteVariablesNodeDialog.txt 157
knime://knime.mountpoint/.metadata%5Cknime%5C/history_database_urls.txt 154
knime://knime.mountpoint/.metadata%5Cknime%5C/history_XLSReader.txt 132
knime://knime.mountpoint/.metadata%5Cknime%5C/history_XLSSheetReader.txt 128
knime://knime.mountpoint/.metadata%5Cknime%5C/history_XLSWRITER.txt 119
knime://knime.mountpoint/.metadata%5Cknime%5C/history_write_png.txt 119
knime://knime.mountpoint/.metadata%5Cknime%5C/history_ASCIIfile.txt 117
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.webanalytics.internal.weblogreader2.WeblogReaderNodeDialog.txt 116
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.xml.node.writer.txt 116
knime://knime.mountpoint/.metadata%5Cknime%5C/history_destination_chooser.txt 110
knime://knime.mountpoint/.metadata%5Cknime%5C/history_class%20org.knime.ext.textprocessing.nodes.source.parser.DocumentParserNodeDialog.txt 106
knime://knime.mountpoint/.metadata%5Cknime%5C/history_sourceHistory.txt 106
knime://knime.mountpoint/.metadata%5Cknime%5C/history_class%20org.knime.base.node.flowvariable.createfilename.CreateFilenameNodeDialog.txt 105
knime://knime.mountpoint/.metadata%5Cknime%5C/history_csvwrite.txt 104
knime://knime.mountpoint/.metadata%5Cknime%5C/history_pmml.reader.txt 102
knime://knime.mountpoint/.metadata%5Cknime%5C/history_create_dir_history.txt 101
knime://knime.mountpoint/.metadata%5Cknime%5C/history_create_temp_dir_history.txt 101
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.xml.node.reader.txt 101
knime://knime.mountpoint/.metadata%5Cknime%5C/history_targetHistory.txt 99
knime://knime.mountpoint/.metadata%5Cknime%5C/history_excel_reader_writer.txt 95
knime://knime.mountpoint/.metadata%5Cknime%5C/history_csv_read.txt 94
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3.workingDir.txt 94
knime://knime.mountpoint/.metadata%5Cknime%5C/history_unzip_files_history.txt 91
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.database.connectors.sqlite.SQLiteConnectorNodeDialog_path.txt 87
knime://knime.mountpoint/.metadata%5Cknime%5C/history_filereader_history.txt 86
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-to.txt 86
knime://knime.mountpoint/.metadata%5Cknime%5C/history_com.mmiagency.knime.nodes.html.CleanHtmlRetrieverNodeConfiguration.txt 82
knime://knime.mountpoint/.metadata%5Cknime%5C/history_targetdirectoryHistory.txt 76
knime://knime.mountpoint/.metadata%5Cknime%5C/history_outputdirectoryHistory.txt 75
knime://knime.mountpoint/.metadata%5Cknime%5C/history_google_api_key_file_location.txt 71
knime://knime.mountpoint/.metadata%5Cknime%5C/history_list_dir.txt 71
knime://knime.mountpoint/.metadata%5Cknime%5C/history_File%20System%20Connection.txt 70
knime://knime.mountpoint/.metadata%5Cknime%5C/history_ARFFFiles.txt 69
knime://knime.mountpoint/.metadata%5Cknime%5C/history_ShpFileHistory.txt 69
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.io.arffwriter.txt 69
knime://knime.mountpoint/.metadata%5Cknime%5C/history_list_files_history_ID.txt 68
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.io.table.read.ReadTableNodeDialogPane.txt 68
knime://knime.mountpoint/.metadata%5Cknime%5C/history_DocumentsDirectory%20-%20save.txt 67
knime://knime.mountpoint/.metadata%5Cknime%5C/history_regexsplitNodeDialog.txt 67
knime://knime.mountpoint/.metadata%5Cknime%5C/history_line_read.txt 66
knime://knime.mountpoint/.metadata%5Cknime%5C/history_image_table_reader_writer.txt 65
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.image.imagecolwriter.ImageColumnWriterNodeDialogeColumn.txt 61
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-attachments.txt 60
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-subject.txt 60
knime://knime.mountpoint/.metadata%5Cknime%5C/history_copymoveFiles.txt 59
knime://knime.mountpoint/.metadata%5Cknime%5C/history_prefixHistory.txt 58
knime://knime.mountpoint/.metadata%5Cknime%5C/history_calleeWorkflow.txt 57
knime://knime.mountpoint/.metadata%5Cknime%5C/history_imagewriterdirhistory.txt 56
knime://knime.mountpoint/.metadata%5Cknime%5C/history_Firefox%20Executable%20Path.txt 53
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.json.node.writer.txt 53
knime://knime.mountpoint/.metadata%5Cknime%5C/history_delete_files_history.txt 52
knime://knime.mountpoint/.metadata%5Cknime%5C/history_call.workfklow.json.txt 47
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3-compatible-endpoint.txt 46
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.google.api.nodes.authconnector.GoogleAuthNodeDialogPane.txt 42
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIGHE4RW6LW7H4JWQus-east-2directoryHistory.txt 40
knime://knime.mountpoint/.metadata%5Cknime%5C/history_bigquery_connector_node__hostname.txt 38
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIGHE4RW6LW7H4JWQus-east-1directoryHistory.txt 38
knime://knime.mountpoint/.metadata%5Cknime%5C/history_athena_connector_node__hostname.txt 36
knime://knime.mountpoint/.metadata%5Cknime%5C/history_hub.authentication.url.txt 36
knime://knime.mountpoint/.metadata%5Cknime%5C/history_list_files_history.txt 36
knime://knime.mountpoint/.metadata%5Cknime%5C/history_database_drivers.txt 35
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-from.txt 34
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-smtpHost.txt 34
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.database.connectors.mysql.MySQLConnectorNodeDialog_databaseName.txt 33
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.database.connectors.mysql.MySQLConnectorNodeDialog_hostname.txt 33
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIDVPEZ667VHDPUNAeu-central-1targetHistory.txt 33
knime://knime.mountpoint/.metadata%5Cknime%5C/history_string_to_date_formats.txt 32
knime://knime.mountpoint/.metadata%5Cknime%5C/history_List%20Files%20History%20ID.txt 31
knime://knime.mountpoint/.metadata%5Cknime%5C/history_default%20download%20path.txt 31
knime://knime.mountpoint/.metadata%5Cknime%5C/history_default%20screenshot%20path.txt 31
knime://knime.mountpoint/.metadata%5Cknime%5C/history_localDirectoryHistory.txt 31
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIDVPEZ667VHDPUNAeu-central-1directoryHistory.txt 30
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.cloud.aws.athena.connector.AthenaDBConnectorNodeDialog.txt 29
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIDVPEZ667VHDPUNAeu-central-1sourceHistory.txt 28
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIGHE4RW6LW7H4JWQus-east-2sourceHistory.txt 27
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-smtpUser.txt 26
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAR7U77YPQJQMZT5KVeu-central-1sourceHistory.txt 26
knime://knime.mountpoint/.metadata%5Cknime%5C/history_string2date-formats.txt 26
knime://knime.mountpoint/.metadata%5Cknime%5C/history_binary%20object_table_reader_writer.txt 24
knime://knime.mountpoint/.metadata%5Cknime%5C/history_LIST_FILES_EXT_HISTORY_ID.txt 22
knime://knime.mountpoint/.metadata%5Cknime%5C/history_absbradydatalakedevgen2blob.core.windows.netdirectoryHistory.txt 22
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAIGHE4RW6LW7H4JWQeu-west-1directoryHistory.txt 22
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3AKIAR7U77YPQJQMZT5KVeu-central-1targetHistory.txt 21
knime://knime.mountpoint/.metadata%5Cknime%5C/history_bigquery_connector_node__databaseName.txt 19
knime://knime.mountpoint/.metadata%5Cknime%5C/history_jfc-date-formats.txt 16
knime://knime.mountpoint/.metadata%5Cknime%5C/history_mountpoint.workingDir.txt 15
knime://knime.mountpoint/.metadata%5Cknime%5C/history_GET%20body.txt 13
knime://knime.mountpoint/.metadata%5Cknime%5C/history_momentjs-zoned-date-time-formats.txt 12
knime://knime.mountpoint/.metadata%5Cknime%5C/history_s3-compatible-region.txt 12
knime://knime.mountpoint/.metadata%5Cknime%5C/history_drFileDialogHistoryID.txt 11
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.xml.node.combinewriter.txt 11
knime://knime.mountpoint/.metadata%5Cknime%5C/history_constant-value-key.txt 10
knime://knime.mountpoint/.metadata%5Cknime%5C/history_momentjs-date-formats.txt 10
knime://knime.mountpoint/.metadata%5Cknime%5C/history_momentjs-date-new-formats.txt 10
knime://knime.mountpoint/.metadata%5Cknime%5C/history_momentjs-time-formats.txt 8
knime://knime.mountpoint/.metadata%5Cknime%5C/history_createFileNameHistoryKey.txt 7
knime://knime.mountpoint/.metadata%5Cknime%5C/history_org.knime.base.node.util.sendmail-smtpPort.txt 3
knime://knime.mountpoint/.metadata%5Cknime%5C/history_create_paths_history.txt 1
knime://knime.mountpoint/.metadata%5Cknime%5C/history_ftpdlpuser%2540dlptest.comftp.dlptest.com21directoryHistory.txt 1
knime://knime.mountpoint/.metadata%5Cknime%5C/history_local.workingDir.txt 1
knime://knime.mountpoint/.metadata%5Cknime%5C/history_space.workingDir.txt 1

I still believe this needs to be addressed by Knime as there is lots of garbage data. I.e. by:

  1. Adding a date stamp when the value was added and last accessed to periodically delete deprecated data
  2. Adding a workflow identifier to make suggestions only in corresponding workflows
  3. Allow to clean the data as it also persists across Knime un- and reinstallation
1 Like

Thanks for this @mwiegand , I saw the other history files but hadn’t considered that this same issue might affect any number of other nodes that store a history of previously entered values! (and yes I have also now “broken” my GET Request" node :wink: )

Given that this has wider implications I’ve now “unsolved” this topic.

Attached is a component I’ve uploaded which uses part of your workflow for outputting the list of history files in max line length order (worst offenders on top port and all files on lower port).

But additionally it opens the folder containing the history files in your OS’s “file explorer”, so that any that are causing problems can be manually edited (remove long lines) in a text editor.

1 Like