Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}

Поиск
Список
Период
Сортировка
От Peter Geoghegan
Тема Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Дата
Msg-id CAM3SWZQBMyCF45zkR2xWtuzt9KFvFMqHu+7k3vEeokqdsTs+qw@mail.gmail.com
обсуждение исходный текст
Ответ на Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}  (Andres Freund <andres@2ndquadrant.com>)
Список pgsql-hackers
On Tue, Sep 30, 2014 at 2:15 PM, Andres Freund <andres@2ndquadrant.com> wrote:
> Well. People have given you outlines of approaches. And Heikki even gave
> you a somewhat working prototype. I don't think you can fairly expect
> more.

I don't expect anything, really. I asked nicely - that's all. I don't
know why there is so much discussion of what I expect or don't expect.
Things don't work around here by everyone doing only strictly what
they're obligated to do. Everyone is strictly obligated to do nothing,
when you get right down to it.

>> Even still, I would appreciate it if people could
>> review the patch on the assumption that those issues will be worked
>> out.
>
> Right now I don't really see the point. You've so far shown no
> inclination to accept significant concerns about your approach. And
> without an agreement about how to solve the concurrency issues the
> feature is dead in the water. And thus time spent reviewing isn't well
> spent.
>
> I'm pretty sure I'm not the only one feeling that way at this point.

I think that's *incredibly* unfair. There appears to be broad
acceptance of the problems around deadlocking as a result of my work
with Heikki. That was a major step forward. Now we all agree on the
parameters of the discussion around value locking, AFAICT. There is an
actual way forward, and not total quagmire -- great. I had to dig my
heals in to win that much, and it wasn't easy. I accept that it
probably wasn't easy for other people either, and I am thankful for
the effort of other people, particularly Heikki, but also you.

>> A couple of weeks
>> ago, I felt good about the fact that it seemed "time was on my side"
>> 9.5-wise, but maybe that isn't true. Working through the community
>> process for this patch is going to be very difficult.
>
> The community process involves accepting that your opinion isn't the
> community's. Believe me, I learned that the hard way.

The community doesn't have a worked-out opinion on this either way.
Arguably, what you and Simon want to do is closer than what I want to
do than what Heikki wants to do - you're still talking about adding
locks that are tied to AMs in a fairly fundamental way. But, FWIW, I'd
sooner take Heikki's approach than insert promise tuples into indexes
directly. I think that Heikki's approach is better.

In all honesty, I don't care who "wins", as long as someone does and
we get the feature in shape. No one can "win" if all sides are not
realistic about the problems. The issues that I've called out about
what Heikki has suggested are quite significant issues. Can't we talk
about them? Or am I required to polish-up Heikki's approach, and
present it at a commitfest, only to have somebody point out the same
issues then? I am *not* nitpicking, and the issues are of fundamental
importance. Look at the issues I raise and you'll see that's the case.

My pointing out of these issues is not some artifice to "win" the
argument. I don't appreciate the insinuation that it is. I am
completely undeserving of that sort of mistrust. It's insulting. And
it's also a total misrepresentation to suggest it's me versus you,
Heikki, Robert, and Simon. Opinion is far more divided than you let
on, since what you and Simon suggest is far different to what Heikki
suggests. Let's figure out a way to reach agreement.

> It's one thing to argue about the implementation of a feature for a week
> or four. Or even insist that you're right in some implementation detail
> local to your new code. But you've not moved one jota in the critical
> parts that affect large parts of the system in half a year.

You're right. I haven't moved one bit on that. But, on the other hand,
I haven't doubled down on the approach either - I have done very
little on it, and have given it relatively little thought either way.
I preferred to focus my energies on the "top half". Surely you'd agree
that that was the logical course of action to take over the last few
months. I don't know if you noticed, but I presented this whole new
revised version as "this is the thing that gives us the ability to
discuss the fundamental issue of value locking". So my suggestion was
that if you don't want to have that conversation, at least look at the
"top half" a bit.

-- 
Peter Geoghegan



В списке pgsql-hackers по дате отправления:

Предыдущее
От: Kevin Grittner
Дата:
Сообщение: Re: INSERT ... ON CONFLICT {UPDATE | IGNORE}
Следующее
От: Fabrízio de Royes Mello
Дата:
Сообщение: Re: CREATE IF NOT EXISTS INDEX