Describe the bug
Unable to edit Data Source properties after creation.
To reproduce
Expected behavior
To be able to edit the Data Source configuration as when initially creating it.
Screenshots
N/A
Your Environment
Additional context
N/A
Does it work if you go through the AWS Explorer->RDS tree?

I wasn't aware of that route in the UI. Unfortunately, no, as they don't even show there, the RDS tree is empty. Other subtrees populate fine. RDS does present "Connect with Secrets Manager..." upon right-click, but none of the secrets work. I see the following exception in the "IDE Fatal Errors" in the lower right corner (a red circle with exclamation point):
java.lang.NullPointerException
at com.intellij.database.dataSource.DatabaseCredentialsAuthProvider$UserWidget.onChanged(DatabaseCredentialsAuthProvider.java:453)
at com.intellij.database.dataSource.url.ui.DatabaseAuthPanel.applyAuthProvider(DatabaseAuthPanel.java:97)
at com.intellij.database.dataSource.url.ui.DatabaseAuthPanel$3.itemStateChanged(DatabaseAuthPanel.java:88)
at java.desktop/javax.swing.JComboBox.fireItemStateChanged(JComboBox.java:1227)
at java.desktop/javax.swing.JComboBox.selectedItemChanged(JComboBox.java:1279)
at java.desktop/javax.swing.JComboBox.contentsChanged(JComboBox.java:1335)
at java.desktop/javax.swing.AbstractListModel.fireContentsChanged(AbstractListModel.java:123)
at com.intellij.ui.CollectionComboBoxModel.update(CollectionComboBoxModel.java:49)
at com.intellij.ui.CollectionComboBoxModel.setSelectedItem(CollectionComboBoxModel.java:33)
at java.desktop/javax.swing.JComboBox.setSelectedItem(JComboBox.java:579)
at com.intellij.database.dataSource.url.ui.DatabaseAuthPanel.reset(DatabaseAuthPanel.java:130)
at com.intellij.database.dataSource.url.ui.DynamicJdbcUrlEditor.reset(DynamicJdbcUrlEditor.java:465)
at com.intellij.database.dataSource.DataSourceGeneralPanel.reset(DataSourceGeneralPanel.java:70)
at com.intellij.database.dataSource.DataSourceConfigurable.reset(DataSourceConfigurable.java:549)
at com.intellij.database.dataSource.DataSourceConfigurable.lambda$init$11(DataSourceConfigurable.java:537)
at com.intellij.openapi.options.SettingsEditor.bulkUpdate(SettingsEditor.java:84)
at com.intellij.database.dataSource.DataSourceConfigurable.init(DataSourceConfigurable.java:537)
at com.intellij.database.view.ui.SidePanelItem.createConfigurable(SidePanelItem.java:127)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.createEditorIfNeeded(DatabaseConfigEditorImpl.java:707)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.setSelectedEditor(DatabaseConfigEditorImpl.java:717)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.navigateTo(DatabaseConfigEditorImpl.java:330)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.navigateTo(DatabaseConfigEditorImpl.java:1391)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.resetTreeModel(DatabaseConfigEditorImpl.java:444)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.resetEditorFrom(DatabaseConfigEditorImpl.java:389)
at com.intellij.database.view.ui.DatabaseConfigEditorImpl.resetEditorFrom(DatabaseConfigEditorImpl.java:95)
at com.intellij.openapi.options.SettingsEditor.lambda$resetFrom$0(SettingsEditor.java:76)
at com.intellij.openapi.options.SettingsEditor.bulkUpdate(SettingsEditor.java:84)
at com.intellij.openapi.options.SettingsEditor.resetFrom(SettingsEditor.java:74)
at com.intellij.openapi.options.SettingsEditorConfigurable.reset(SettingsEditorConfigurable.java:39)
at com.intellij.openapi.options.ex.SingleConfigurableEditor.<init>(SingleConfigurableEditor.java:56)
at com.intellij.openapi.options.ex.SingleConfigurableEditor.<init>(SingleConfigurableEditor.java:78)
at com.intellij.openapi.options.ex.SingleConfigurableEditor.<init>(SingleConfigurableEditor.java:93)
at com.intellij.openapi.options.ex.SingleConfigurableEditor.<init>(SingleConfigurableEditor.java:105)
at com.intellij.database.view.ui.DataSourceManagerDialog.<init>(DataSourceManagerDialog.java:48)
at com.intellij.database.view.ui.DataSourceManagerDialog.showDialog(DataSourceManagerDialog.java:116)
at com.intellij.database.autoconfig.DataSourceRegistry.showDialog(DataSourceRegistry.java:60)
at software.aws.toolkits.jetbrains.datagrip.actions.AddSecretsManagerConnection.actionPerformed(AddSecretsManagerConnection.kt:51)
at software.aws.toolkits.jetbrains.core.explorer.actions.SingleExplorerNodeAction.actionPerformed(AbstractActions.kt:57)
at software.aws.toolkits.jetbrains.core.explorer.actions.ExplorerNodeAction.actionPerformed(AbstractActions.kt:82)
at com.intellij.openapi.actionSystem.ex.ActionUtil.performActionDumbAware(ActionUtil.java:281)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.lambda$actionPerformed$0(ActionMenuItem.java:310)
at com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext(FocusManagerImpl.java:286)
at com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:77)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem$ActionTransmitter.actionPerformed(ActionMenuItem.java:299)
at java.desktop/javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:1967)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.lambda$fireActionPerformed$0(ActionMenuItem.java:110)
at com.intellij.openapi.application.TransactionGuardImpl.performUserActivity(TransactionGuardImpl.java:95)
at com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem.java:110)
at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:514)
at com.intellij.ui.plaf.beg.BegMenuItemUI$MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:544)
at java.desktop/java.awt.Component.processMouseEvent(Component.java:6652)
at java.desktop/javax.swing.JComponent.processMouseEvent(JComponent.java:3345)
at java.desktop/java.awt.Component.processEvent(Component.java:6417)
at java.desktop/java.awt.Container.processEvent(Container.java:2263)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5027)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2321)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
at java.desktop/java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4918)
at java.desktop/java.awt.LightweightDispatcher.processMouseEvent(Container.java:4547)
at java.desktop/java.awt.LightweightDispatcher.dispatchEvent(Container.java:4488)
at java.desktop/java.awt.Container.dispatchEventImpl(Container.java:2307)
at java.desktop/java.awt.Window.dispatchEventImpl(Window.java:2780)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4859)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:778)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:727)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:751)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:749)
at java.base/java.security.AccessController.doPrivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:748)
at com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:976)
at com.intellij.ide.IdeEventQueue.dispatchMouseEvent(IdeEventQueue.java:911)
at com.intellij.ide.IdeEventQueue._dispatchEvent(IdeEventQueue.java:840)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$8(IdeEventQueue.java:454)
at com.intellij.openapi.progress.impl.CoreProgressManager.computePrioritized(CoreProgressManager.java:773)
at com.intellij.ide.IdeEventQueue.lambda$dispatchEvent$9(IdeEventQueue.java:453)
at com.intellij.openapi.application.impl.ApplicationImpl.runIntendedWriteActionOnCurrentThread(ApplicationImpl.java:822)
at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:507)
at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Thank you for the stack trace.
Can you tell me more about what you are trying to connect to, like what is the DB engine and version?
It's an Aurora Postgres 10.12 Serverless v1 cluster. Access to the VPC is fine, I can run queries, browse the schema, etc. I just cannot edit the Data Source after I create it, so I've got to set it up right first shot, otherwise delete and retry. 馃槵
Checking our RDS Engines file that should work unless they changed the engine name: https://github.com/aws/aws-toolkit-jetbrains/blob/98ffb23991c0f17fa5e0a73208db2f4967e3ec41/jetbrains-ultimate/src/software/aws/toolkits/jetbrains/services/rds/RdsEngine.kt#L67
@hunterwerlla I forget..were there issues with Serverless?
Serverless V1 - https://docs.aws.amazon.com/AmazonRDS/latest/AuroraUserGuide/aurora-serverless.relnotes.html
How sensitive are you to the secret values? The engine attribute is postgres, and it looks like they've recently added a dbClusterIdentifier attribute.
How sensitive are you to the secret values? The
engineattribute ispostgres, and it looks like they've recently added adbClusterIdentifierattribute.
The JSON blob in the secret? Our logic is coded to match the following fields:
data class SecretsManagerDbSecret(
val username: String?,
val password: String?,
val engine: String?,
val host: String?,
val port: String?
)
I'll have to spin up a db to play with it to figure out what is breaking down where. The fact that it is not showing in the explorer has me concerned.
It looks like we used the wrong API 馃槃
DescribeDBInstances (what we use) hides serverless, we need to switch to DescribeDBClusters.
I am also seeing the same NullPointer, but its down in the DataGrip code, so will take longer to figure out whats wrong there.
Traced the NPE, it is a regression in IntelliJ 2020.3.2 (maybe .1?), working on a fix for our next release.