Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ORA-01408: such column list already indexed #34

Open
DarioN1 opened this issue Feb 29, 2024 · 0 comments
Open

ORA-01408: such column list already indexed #34

DarioN1 opened this issue Feb 29, 2024 · 0 comments

Comments

@DarioN1
Copy link

DarioN1 commented Feb 29, 2024

I'm trying to set up Hangfire with FluentNHibernate for on Oracle database, but I'm encountering the following error:

ORA-01408: such column list already indexed

I have the following setup:

RegisterHangfire.cs
public static void RegisterHangfire(
            this IServiceCollection serviceCollection,
            CustomSettings customSettings)
        {
            var storage = FluentNHibernateStorageFactory.For(
                ProviderTypeEnum.OracleClient10Managed,
                DATABASE_URL,
                new FluentNHibernateStorageOptions
                {
                    TransactionIsolationLevel = IsolationLevel.Serializable,
                    QueuePollInterval = TimeSpan.FromSeconds(15),
                    JobExpirationCheckInterval = TimeSpan.FromHours(1),
                    CountersAggregateInterval = TimeSpan.FromMinutes(5),
                    UpdateSchema = true,
                    DashboardJobListLimit = 50000,
                    InvisibilityTimeout = TimeSpan.FromMinutes(15),
                    TransactionTimeout = TimeSpan.FromMinutes(1),
                    JobQueueDistributedLockTimeout = TimeSpan.FromMinutes(1.0),
                    DistributedLockPollInterval = TimeSpan.FromSeconds(15.0),
                    DeadlockRetryInterval = TimeSpan.FromSeconds(1.0),
                    DbmsTimeSyncInterval = TimeSpan.FromMinutes(5.0),
                    TablePrefix = "HANGFIRE_",
                });

            serviceCollection.AddHangfire(cfg => cfg.UseStorage(storage));

            serviceCollection.AddHangfireServer();
        }
Program.cs

...

builder.Services.RegisterHangfire(customSettings);

var app = builder.Build();

app.UseHangfireDashboard();

...

I've tried changing the UpdateSchema property. It's strange that if I run with true the tables are created but the app throws an error: "ORA-01408: such column list already indexed" as if trying to recreated and reindex at every run. And when I change it to false it runs ok.

Should I determine if the tables are created in order to toggle the UpdateSchema property? Or I've configured the service wrong?

OracleDB is 19.17.0.0

.NET: 7

Nuggets:

  • Hangfire: 1.8.5
  • Hangfire.Core: 1.8.5
  • Hangfire.FluentNHibernateStorage: 1.7.30
  • Hangfire.Oracle.Core: 1.2.17
  • FluentNHibernate: 3.3.0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant